JBOSS下Web 服务(Web Service)开发步骤
2009-07-19 17:54
453 查看
一
.
开发一个
JSR-181 POJO Endpoint
的
Web Service
应遵守下面几个步骤:
1>
建立一个
POJO endpoint
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
@WebService(name = "HelloWorld", targetNamespace = "http://webservice", serviceName = "HelloWorldService")
//targetNamespace ,
与包名相同
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class HelloWorldService {
@WebMethod
public String SayHello(String name) {
return name + "
说
:
这是我的第一个
web
服务
";
}
}
可能有错误,则加入:
jboss-jaxws.jar
@WebService
这个注释放置在
Java
类的前面,声明这个类的部分方法可以被发布为
Web
服务。
@WebService
的属性用于设置
Web
服务被发布时的一些配置信息,常用的属性说明如下
1. name
Web
服务的名字,
WSDL
中
wsdl:portType
元素的
name
属性和它保持一致,默认是
Java
类或者接口的名字。
2. serviceName
Web
服务的服务名,
WSDL
中
wsdl:service
元素的
name
属性和它保持一致,默认是
Java
类的名字
+
”
Service
” 。
3. targetNamespace
WSDL
文件所使用的
namespace
,该
Web
服务中所产生的其他
XML
文档同样采用这个作为
namespace
。
@SOAPBinding()
表示这个服务可以映射到一个
SOAP
消息中。
Style
用于指定
SOAP
消息请求和回应的编码方式。
@WebMethod
这个注释放在需要被发布成
Web
服务的方法前面。
2>
把
endpoint
定义成一个
servlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>HelloWorldService</servlet-name>
<servlet-class>webservice.HelloWorldService</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldService</servlet-name>
<url-pattern>/HelloWorldService/*</url-pattern>
</servlet-mapping>
</web-app>
3>
把
endpoint
打包成一个
Web
应用
(war
文件
)
进入所在目录:打成
war
包
:
jar
cvf
TestWS.war
*
4>
测试
输入: http://localhost:8080/jbossws/ 进入
JbossWS
的查看界面
二
.web service
客户端调用
我们采用
Xfire
进行
webservice
客户端调用
详见:
http://blog.csdn.net/pengchua/archive/2007/08/02/1722156.aspx
三.问题解决:
1.
问题
2008-7-25 8:56:37 org.apache.axis.utils.JavaUtils isAttachmentSupported
警告
:
Unable to find required classes (javax.activation.DataHandler and
javax.mail.internet.MimeMultipart). Attachment support is disabled.
AxisFault
faultCode: { http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString:
org.xml.sax.SAXParseException
: Premature end of file.
faultActor:
faultNode:
faultDetail:
{ http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXParseException
: Premature end of file.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
解决:放入
activation.jar
和
mail.jar
2
.
问题:
: jboss
控制台上出现错误
Caused by: java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage
| at javax.xml.soap.SOAPMessage.setProperty(SOAPMessage.java:424)
解决:
This usually shows up when running with JDK 6. If that is the case, either use JDK 5,
也就是将
%JAVA_HOME%
变成
jdk1.5. or see http://wiki.jboss.org/wiki/JBossWithJDK6?action=e&windowstate=normal&mode=view
.
开发一个
JSR-181 POJO Endpoint
的
Web Service
应遵守下面几个步骤:
1>
建立一个
POJO endpoint
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
@WebService(name = "HelloWorld", targetNamespace = "http://webservice", serviceName = "HelloWorldService")
//targetNamespace ,
与包名相同
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class HelloWorldService {
@WebMethod
public String SayHello(String name) {
return name + "
说
:
这是我的第一个
web
服务
";
}
}
可能有错误,则加入:
jboss-jaxws.jar
@WebService
这个注释放置在
Java
类的前面,声明这个类的部分方法可以被发布为
Web
服务。
@WebService
的属性用于设置
Web
服务被发布时的一些配置信息,常用的属性说明如下
1. name
Web
服务的名字,
WSDL
中
wsdl:portType
元素的
name
属性和它保持一致,默认是
Java
类或者接口的名字。
2. serviceName
Web
服务的服务名,
WSDL
中
wsdl:service
元素的
name
属性和它保持一致,默认是
Java
类的名字
+
”
Service
” 。
3. targetNamespace
WSDL
文件所使用的
namespace
,该
Web
服务中所产生的其他
XML
文档同样采用这个作为
namespace
。
@SOAPBinding()
表示这个服务可以映射到一个
SOAP
消息中。
Style
用于指定
SOAP
消息请求和回应的编码方式。
@WebMethod
这个注释放在需要被发布成
Web
服务的方法前面。
2>
把
endpoint
定义成一个
servlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>HelloWorldService</servlet-name>
<servlet-class>webservice.HelloWorldService</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldService</servlet-name>
<url-pattern>/HelloWorldService/*</url-pattern>
</servlet-mapping>
</web-app>
3>
把
endpoint
打包成一个
Web
应用
(war
文件
)
进入所在目录:打成
war
包
:
jar
cvf
TestWS.war
*
4>
测试
输入: http://localhost:8080/jbossws/ 进入
JbossWS
的查看界面
二
.web service
客户端调用
我们采用
Xfire
进行
webservice
客户端调用
详见:
http://blog.csdn.net/pengchua/archive/2007/08/02/1722156.aspx
三.问题解决:
1.
问题
2008-7-25 8:56:37 org.apache.axis.utils.JavaUtils isAttachmentSupported
警告
:
Unable to find required classes (javax.activation.DataHandler and
javax.mail.internet.MimeMultipart). Attachment support is disabled.
AxisFault
faultCode: { http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString:
org.xml.sax.SAXParseException
: Premature end of file.
faultActor:
faultNode:
faultDetail:
{ http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXParseException
: Premature end of file.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
解决:放入
activation.jar
和
mail.jar
2
.
问题:
: jboss
控制台上出现错误
Caused by: java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage
| at javax.xml.soap.SOAPMessage.setProperty(SOAPMessage.java:424)
解决:
This usually shows up when running with JDK 6. If that is the case, either use JDK 5,
也就是将
%JAVA_HOME%
变成
jdk1.5. or see http://wiki.jboss.org/wiki/JBossWithJDK6?action=e&windowstate=normal&mode=view
相关文章推荐
- JBOSS下Web 服务(Web Service)开发步骤
- 基于axis开发web服务的步骤 -2007年4月9日 12时20分
- Netbeans 5.5 + enterprise pack 5.5 开发Web Service(Web服务)
- j2ee web service开发(五) 把ejb发布为web服务
- 架构Web Service:基于Web服务的应用、解决方案和开发平台
- 王晓东原创:C# 简易IDE开发工具-快速创建Windows和Web程序及Web Service服务!
- JBoss4 应用服务器Web开发人员参考手册(1):Tomcat服务
- JBoss4 应用服务器Web开发人员参考手册(8):提供静态内容服务
- j2ee web service开发(六) 跟其它编程语言写的Web服务通信 Holder类型
- [大规模Web服务开发技术] 中文目录
- 标题:化繁为简-使用Weblogic WorkShop8.1开发Web 服务
- J2EE Web服务开发系列之十二: 实现安全的AXIS Web服务,第1部分
- 在web开发时给web service传递客户端cookie
- SpringCloud 微服务 开发步骤
- webpack手动配置React开发环境的步骤
- Web开发七步骤
- 用 XML-RPC 开发 Web 服务:XML-RPC 中间件
- 转:WF工作流技术内幕 —— 通过Web服务调用Workflow工作流(开发持久化工作流)
- Become.com的 Web Crawler: 一个超大规模的Java应用程序(想开发自己的搜索引擎增值服务的必读)
- (0015)iOS 开发之Mac上安装MySQL服务与创建数据库的基本步骤