我有WSDL XML文件,由客户发送。这是通知服务。表示我们的客户端在URL http://xxx.xxx.com/notification上向我们的服务器发送SOAP通知。
我是SOAP Web服务的新手,我无法识别,如何在JAVA Web服务上获取SOAP XML。
如果您需要更多说明,请与我联系。
答案 0 :(得分:1)
我不清楚你的要求是什么。是生成wsdl以便客户端可以使用它来调用您的服务,或者您需要使用提供给您的wsdl来使用第三方服务。
假设你有一个wsdl而你想使用wsdl调用服务,下面就是我的建议。
您可以使用eclipse的方式生成类,唯一的缺点就是每次wsdl文件发生更改时都必须这样做。
如果您使用maven或gradle或ant等构建工具,那么每次构建项目时都可以自动执行“生成”过程。
例如,如果你使用的是Maven,你可以添加jaxws-maven-plugin来实现它,如下所示。将以下内容添加到maven pom.xml文件
<build>
<sourceDirectory>../src</sourceDirectory>
<finalName>jaxws-fromwsdl-client</finalName>
<plugins>
<!-- generate web services classes from wsdl file -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>1.11</version>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<verbose>true</verbose>
<wsdlUrls>
<wsdlUrl>http://localhost:8080/jaxws-fromwsdl/addnumbers?wsdl</wsdlUrl>
</wsdlUrls>
<packageName>fromwsdl.client</packageName>
</configuration>
</execution>
</executions>
</plugin>
<!-- configure compiler plugin to pickup only server side java files -->
<!-- note that at compile phase, wsdl's classes are already generated -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<includes>
<include>*/client/*.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
答案 1 :(得分:0)
如果您现在希望收到的内容,您可以编写接收器类,如果您使用Eclipse:
在Eclipse主菜单中,单击File&gt;新&gt;其他
在Wizard对话框中,展开Web Services节点,选择Web Service并单击Next。
在Web Services向导屏幕上,为Web服务类型选择Bottom up Java bean Web Service,然后使用Browse按钮选择服务实现类。
下一个屏幕列出了将要创建的WSDL文件的名称以及可以通过SOAP Web服务公开的服务实现类中可用的公共方法。
单击“下一步”继续。 Eclipse IDE现在将生成Web服务文件。
然后,您可以从WSDL创建客户端代码,这是非常通用的,但可以作为起点。
答案 2 :(得分:0)
从您的问题看来,您似乎有一个WSDL文件,并且您希望点击它公开的Web服务。一个快速的方法是:
1)转到命令提示符并在.wsdl文件上执行wsimport -keep(以保存从命令生成的.java文件)。
2)在工作区中移动生成的java文件
3)在.wsdl文件中查找服务名称和端口名称,并随后生成它们的对象
4)然后根据需要在.wsdl中进行操作。