我正在尝试使用我们公司内其他组提供的网络服务。该服务是用Java编写的,它们的JAVA测试客户端正常运行。但是,我无法让基于.NET4.0或.NET 4.5的WCF客户端与它通信。他们需要https传输,因为它的JAVA我使用basicHttpBinding。他们还需要用户名/密码。在JAVA中,他们说用户名/密码处于绑定级别,当查看从其测试代码中捕获的消息时,没有任何证据表明用户名或密码被发送。我可以连接到他们的服务但无法通过身份验证,因为他们没有看到我的用户名和&密码。用户名和密码在代码中设置。我目前正在使用自签名证书测试他们的开发服务器。我们的终端相距1500英里,但通过内部企业(安全)网络连接。
我只需要知道在客户端使用的“绑定”,“行为”和“端点”的正确配置设置。我可以发布我的设置,但这只会产生误导,因为我已经尝试过100次,而且没有一个能够达到预期的效果。
只要不涉及对服务主机端(或可能不是IIS)的任何更改(或知识),您可以提供的任何帮助都将非常有用。
感谢您的想法。
Java客户端代码如下所示:
ServiceImplServiceLocator locator = new ServiceImplServiceLocator();
locator.setServiceEndpointAddress( "https://<hostaddr>:8443/Service" );
locator.setServiceWSDDServiceName("Service");
ServiceImpl service = locator.getService();
ServiceSoapBindingStub binding = (ServiceSoapBindingStub) service;
binding.setUsername("Username");
binding.setPassword("Password");
// call web service
Return = binding.ServiceMethod( ... );