我在EAR中打包了一个JAX-WS Web服务,部署到WebSphere v7。
EAR包含:
- APP-INF目录:classes目录(右侧包层次结构中的.class文件)加上带有必需jar的lib目录
- META-INF目录
- 与空WEB-INF和META-INF目录以及HelloWorld index.html的战争
我有两个班级:
@WebService
public interface Service {}
和
@WebService
public class ServiceImpl implements Service {
@WebMethod
public String test(String who) {
return("Hello " + who + "!");
}
}
(lib dir中的jar是业务逻辑所必需的,我只是用简单的hello +替换了逻辑)。
我已经在WAS v7中部署了EAR,现在我想使用SOAP UI进行测试。我已经设置了上下文根:
/服务
在部署期间。
在哪里可以找到生成的WSDL及其地址/端点是什么?
我对此非常陌生,在WAS v7完整教程链接上有用的JAX-WS也可以。我找不到任何东西,虽然我现在谷歌上网了几个小时......
答案 0 :(得分:2)
如果没有直接定义,默认情况下,JAX-WS运行时会将后缀Service
添加到实现服务的类中,尽管这不是所有运行时的规则。如果要获取已部署的WSDL,请尝试
http://localhost:9080/service/ServiceImplService?wsdl
或者
http://localhost:9080/service/ServiceImplService/ServiceImplService.wsdl
如果您想更改模式网址
@WebService(serviceName = "EchoService")
public class ServiceImpl implements Service {
@WebMethod
public String test(String who) {
return ("Hello " + who + "!");
}
}
尝试
http://localhost:9080/service/EchoService?wsdl
在IBM Redbook - Application Server V7.0. Web Services Guide
中查看更多内容<强>更新强>
如果要在WAS中部署EAR,基本结构为:
TestEAR.ear
| TestWeb.war
|
\---META-INF
MANIFEST.MF
此EAR中WAR文件的结构为:
TestWeb.war
+---META-INF
| MANIFEST.MF
|
\---WEB-INF
| ibm-web-bnd.xml
| ibm-web-ext.xml
| web.xml
|
+---classes
| \---org
| \---paulvargas
| \---test
| | Service.class
| | ServiceImpl.class
| |
| \---jaxws
| Test.class
| TestResponse.class
|
\---lib
文件ibm-web-xxx.xml
是此示例的选项。 MANIFEST.MF
只有:
Manifest-Version: 1.0
Class-Path:
文件Test.class
和TestResponse.class
(用于WSDL文档文件中的操作 test
)由wsgen
工具生成,类似的命令:
wsgen -cp . org.paulvargas.test.ServiceImpl
web.xml
包含:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>TestWeb</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
wsdlLocation
就是:
http://localhost:9080/TestWeb/ServiceImplService/ServiceImplService.wsdl
查看更多: