1

您好创建了一个测试应用程序来学习 Axis2。我将轴与我的战争和 afetr 部署打包在一起,WSDL 也可以通过 URL 访问 -http://localhost:8081/SajuAxis2/test/service/SajuServices.wsdl

但是,当我尝试使用带有上述 URL 的客户端存根调用服务时,它不起作用。

SajuServicesStub stub = new SajuServicesStub("http://localhost:8081/SajuAxis2/test/service/SajuServices?wsdl");

但是,如果我用它替换端点 URLhttp://localhost:9091/SajuAxis2/SajuService/SajuServices.SajuServicesHttpEndpoint 就可以了。我正在使用 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>
4

2 回答 2

1

我解决了。这是axis2.xml 中的错误配置。我给出了错误的上下文路径。

<parameter name="servicePath">SimpleService</parameter>

更新至

<parameter name="servicePath">services</parameter>
于 2013-04-30T08:26:39.110 回答
0

您必须提供服务端点 url..而不是 wsdl url。您正在向要处理的服务发送请求……而不是向 wsdl。

于 2013-04-24T17:41:39.487 回答