我按照本指南在以下内容上启用了第三方JAX-WS:http://www.ibm.com/support/knowledgecenter/ssaw57_8.0.0/com.ibm.websphere.nd.multiplatform.doc/info/ae/ae/twbs_thirdparty.html?cp=ssaw57_8.0.0%2f3-3-0-25-10-1
...
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.2.1</version>
</dependency>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<DisableIBMJAXWSEngine>true</DisableIBMJAXWSEngine>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>1.10</version>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>wsgen</goal>
</goals>
</execution>
</executions>
<configuration>
<sei>com.example.myService</sei>
<genWsdl>true</genWsdl>
<keep>true</keep>
<resourceDestDir>${basedir}/src/main/webapp/WEB-INF/wsdl</resourceDestDir>
<sourceDestDir>${basedir}/src/main/java</sourceDestDir>
</configuration>
</plugin>
@WebService(
targetNamespace = "...",
name = "...",
serviceName = "...")
public class MyService {
@WebMethod
public String req1() {
return "";
}
}
WEB-INF/web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<display-name>Archetype Created Web Application</display-name>
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>...</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>...</servlet-name>
<url-pattern>/...</url-pattern>
</servlet-mapping>
WEB-INF/sun-jaxws.xml
<?xml version='1.0' encoding='UTF-8'?>
<endpoints xmlns='http://java.sun.com/xml/ns/jax-ws/ri/runtime' version='2.0'>
<endpoint name='...' implementation='com.example.myService' url-pattern='/...' ></endpoint>
</endpoints>
注释被正确禁用,wsgen生成工件和WEB-INF/WSDL文件夹。
<webservices>
<webservice-description>
<webservice-description-name>...</webservice-description-name>
<wsdl-file>WEB-INF/wsdl/....wsdl</wsdl-file>
<port-component>
<port-component-name>...</port-component-name>
<service-endpoint-interface>com.example.myService</service-endpoint-interface>
<service-impl-bean>
<servlet-link>...</servlet-link>
</service-impl-bean>
</port-component>
</webservice-description>
</webservices>
[21/03/16 12.08.37:379 CET] 00000096 http I WSSERVLET12: JAX-WS context listener initializing
[21/03/16 12.08.39:371 CET] 00000096 monitoring I Metro monitoring rootname successfully set to: null
[21/03/16 12.08.39:602 CET] 00000096 http I WSSERVLET14: JAX-WS servlet initializing
在禁用JAX-WS引擎之后,WAS将不会在部署的应用程序中检测和构建web服务构件。那么JAX-WS服务将不会在WAS管理控制台上列出,这是预期的行为。除了未列出服务外,是否观察到任何错误?我发现web服务DD文件名不正确,应该是webservices.xml。
敬杨
你好,我曾与JAX-WS合作开发基于SOAP的网络服务。现在我想使用REST,因为正如我从这里学习的那样,REST比SOAP有优势。 但从不同的文章中,我知道我们也可以从JAX-WS创建RESTful Web服务。但是大多数人说我们应该使用JAX-RS而不是JAX-WS。 我的问题是JAX-WS RESTful webservice和JAX-RS(泽西)之间有什么区别。JAX-RS相对于JAX-W
JAX-WS (JavaTM API for XML-Based Web Services)规范是一组XML web services的JAVA API。JAX-WS允许开发者可以选择RPC-oriented或者message-oriented 来实现自己的web services。 在 JAX-WS中,一个远程调用可以转换为一个基于XML的协议例如SOAP。在使用JAX-WS过程中,开发者不需要
问题内容: 我正在使用webservice soa,使用netbeans(jax- ws),我使用netbeans自动生成客户端,并且一切运行良好,但是我看到在客户端运行时wsdl始终在下载。 在生产中,我不想公开wsdl,并且我试图修改客户端,因为不需要wsdl,我的所有意图都是错误的,我发现了这一点: 但是当执行第一行时,我发现此异常: 有什么想法可以忽略wsdl吗? 问题答案: 最后,我使用
Apache CXF WebService 没有话说,享受沉默 showcase项目已演示了JAX-WS2.0 + CXF 的最重要特性, 其中客户端在测试用例里. SOAP这个名字,本身就是个笑话,一点都不Simple。其他一些WS-*协议,包括安全,附件等都不再看好,因此SpringSide4.0没什么更新。 测试工具依然是SoapUI。 Tips 1. CXF自动生成的WSDL与WADL文件
我需要调用WildFly 8上可用的JAX-WS Web服务。我从一个简单的例子开始。这是我的网络服务: WSDL 可在以下网址获得: http://localhost:8080/DemoWS/HelloWorld?wsdl 看看Tomcat-CXF的例子,我编写了以下路由: 通过在 Camel 上下文中运行上述代码,将返回以下错误: serviceClass=com.sample。HelloWo
问题内容: 使用JAX-WS 2,我也看到了其他人也谈到过的一个问题。问题是,如果在处理程序内部接收到SOAP消息,并且该SOAP消息很大(无论是由于恰好具有很多内容的内联SOAP正文元素,还是由于MTOM附件),那么很容易获得OutOfMemoryError。 原因是对getMessage()的调用似乎引发了一系列事件,这些事件涉及读取线路上的整个SOAP消息,并创建一个代表线路上内容的对象。