使用SOAP UI在WebSphere v7上调用JAX-WS Web服务

时间:2013-04-30 06:27:31

标签: java jax-ws websphere-7

我在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也可以。我找不到任何东西,虽然我现在谷歌上网了几个小时......

1 个答案:

答案 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.classTestResponse.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

查看更多: