org.apache.axis2.AxisFault:传输错误:501错误:未实现

时间:2010-09-22 15:22:46

标签: java web-services http axis2 axis

我正在尝试使用以下代码调用Axis2 Web服务:

stub = new MyServiceStub("http://server/app/services/MyService");
stub.ping();

使用codegen生成存根/骨架。我可以正确地与来自其他客户端的Web服务进行交互(即使是使用SAAJ编写的低级别的内容),也可以不是来自愚蠢的存根调用。

我收到以下错误:

org.apache.axis2.AxisFault: Transport error: 501 Error: Not Implemented
at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:298)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:192)
at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:77)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:327)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:206)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:374)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
at my.package.stub.MyServiceStub.ping(MyServiceStub.java:266)

是否有人遇到此问题并知道解决方案?

我需要以某种方式配置Stub来调用Web服务(我确定这是一个配置问题)。 Web服务已经部署并运行了一段时间。

谢谢!

2 个答案:

答案 0 :(得分:2)

我刚刚使用following article的详细信息解决了这个问题。

我所做的只是在通话前添加以下代码:

stub._getServiceClient().getOptions()
        .setProperty(HTTPConstants.HTTP_PROTOCOL_VERSION, HTTPConstants.HEADER_PROTOCOL_10);

感谢您的时间!

答案 1 :(得分:2)

是的,我已经尝试过没有Axis 2,只能使用javax.xml.soap.SOAPConnection并且已经成功了:

connection.setRequestProperty(HTTPConstants.HTTP_PROTOCOL_VERSION, HTTPConstants.HEADER_PROTOCOL_10);