您好了创建了一个测试应用程序来学习Axis2。我用我的war和afetr部署打包了轴,WSDL也可通过URL访问 - http://localhost:8081/SajuAxis2/test/service/SajuServices.wsdl
但是当我尝试使用带有上述URL的客户端存根调用服务时,它无效。
SajuServicesStub stub = new SajuServicesStub("http://localhost:8081/SajuAxis2/test/service/SajuServices?wsdl");
但是,如果我用http://localhost:9091/SajuAxis2/SajuService/SajuServices.SajuServicesHttpEndpoint
替换端点URL,它就可以了。我正在使用JDK1.6和JBoss。我在metainf的conf中包含了axis2.xml,在 services.xml 中也包含了
<?xml version="1.0" encoding="UTF-8"?>
<!-- This file was auto-generated from WSDL -->
<!-- by the Apache Axis2 version: 1.5.6 Built on : Aug 30, 2011 (10:00:16 CEST) -->
<serviceGroup>
<service name="SajuServices">
<messageReceivers>
<messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" class="service.SajuServicesMessageReceiverInOut"/>
</messageReceivers>
<parameter name="ServiceClass">service.SajuServicesSkeleton</parameter>
<parameter name="useOriginalwsdl">true</parameter>
<parameter name="modifyUserWSDLPortAddress">true</parameter>
<operation name="process" mep="http://www.w3.org/ns/wsdl/in-out" namespace="http://service">
<actionMapping>urn:process</actionMapping>
<outputActionMapping>urn:processResponse</outputActionMapping>
<faultActionMapping faultName="RemoteException">urn:processRemoteException</faultActionMapping>
</operation>
</service>
</serviceGroup>
答案 0 :(得分:1)
我解决了。这是在axis2.xml中的错误配置。我给出了错误的上下文路径。
<parameter name="servicePath">SimpleService</parameter>
udated to
<parameter name="servicePath">services</parameter>
答案 1 :(得分:0)
您必须提供服务端点url..Not wsdl url。 您正在向要处理的服务发送请求。而不是向wsdl发送请求。