我正在学习如何使用JDK7,AXIS 2在Java中编写Webservices。
我复制了一个非常简单的HelloWorld示例。
package example;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService()
public class HelloWorld implements IHelloWorld {
@WebMethod
public String sayHelloWorldFrom(String from) {
String result = "Hello, world, from " + from;
System.out.println(result);
return result;
}
public static void main(String[] argv) {
Object implementor = new HelloWorld();
String address = "http://localhost:9001/HelloWorld";
Endpoint.publish(address, implementor);
}
}
我的服务XML看起来像:
<serviceGroup>
<service name="HelloWorld" targetNamespace="http://example">
<Description>Hi</Description>
<parameter name="ServiceClass" locked="false">example.HelloWorld</parameter>
<operation name="*">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</operation>
</service>
</serviceGroup>
当我尝试使用
查看WSDL时 http://localhost:9001/services/HelloWorldService?wsdl
我明白了: 有什么问题?
- 谢谢
答案 0 :(得分:0)
PS:您的错误消息截图太小了。但我可以使用IndexOutOfBoundException破译一些东西。当我用错误的方式调用我的Web服务时(我不确定),我想我有这个。
无论如何,既然你使用了axis2,你可以简单地看看
http://localhost:9001/axis2/services/listServices
查看您的服务是否已列出? 我认为您的服务是HelloWorld,而不是HelloWorldService。