无法使用Apache Axis2与Web服务进行通信

时间:2015-03-11 01:19:53

标签: web-services soap wsdl axis2

我有一个托管在Windows服务器上的Web服务,我可以使用.net代码连接到该服务,我正在尝试使用Apache Axis2获取访问权限。我一直在使用clj-soap,它没有被维护但看起来中等稳定。

连接到服务端点工作即(soap / client-fn服务地址),但每当我尝试调用函数时,Axis2都会出现此异常:

org.apache.axis2.transport.http.HTTPSender sendViaPost
Unable to sendViaPost to url[MY-URL]
org.apache.axis2.AxisFault: Transport error: 404 Error: Not Found

通过一些谷歌搜索,我遇到了像this这样的事情,它告诉我Windows需要一些身份验证或代理配置。我不确定服务器需要什么样的身份验证。 .net代码没有使用密码进行身份验证,所以我不知所措。

我正在寻找一些帮助来确定哪些信息可以让Axis2传递给服务器,以便我的程序可以与Web服务进行通信。

下面提供了C#代码作为参考。它使用ServiceModel库。

class Program {
    private static MyService CreateServiceChannel () {
        BasicHttpBinding binding = new BasicHttpBinding ( BasicHttpSecurityMode.Transport );
        binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
        binding.MaxReceivedMessageSize = 204003200;
        binding.ReaderQuotas.MaxArrayLength = 2147483647;
        binding.ReaderQuotas.MaxStringContentLength = 2147483647;
        EndpointAddress address = new EndpointAddress ( "https://...service.svc" );
        ChannelFactory<MyService> channelFactory = new ChannelFactory<MyService> ( binding, address );
        MyService channel = channelFactory.CreateChannel ();
        return channel;
    }

    static void Main ( string[] args ) {
        Console.WriteLine ( CreateMyChannel ().CallFunction ( 1 ) );
    }
}

0 个答案:

没有答案