如何使用Web平台工具(Eclipse中的WTP0)生成的Web服务客户端添加基本身份验证(抢占式)

时间:2013-01-10 16:28:06

标签: web-services

我有一个我想要使用的Web服务需要用户名和密码。它不会提示您输入u / p。在SOAPUI 4.5中,很容易转到Web服务的Auth选项卡,选择auth type:premeptive,添加用户名和密码并运行服务。我使用Eclipse WTP为此服务生成了一个Web服务客户端,但我无法弄清楚要添加的代码以及在Soapui中提供相同的u / p的位置。我是相当新的所以请具体请问(代码是否在servicebindingstub,serviceporttype,serviceporttypeproxy和什么方法?_init等,包括import pls.wtp客户端工作但返回错误代码,说明用户名和密码是如果有一种方法可以在描述符中将其外化,那也很好。

1 个答案:

答案 0 :(得分:0)

通过将“用户名”和“密码”行(下面的最后两行)添加到“存根”文件中的每个方法的“调用”来解决此问题。

call.setUseSOAPAction(true);
        _call.setSOAPActionURI("urn:webservicesapi#getAllVirtualServerConnStats");
        _call.setEncodingStyle(null);
        _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
        _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
        _call.setSOAPVersion(or`enter code here`g.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
        _call.setOperationName(new javax.xml.namespace.QName("", "getAllVirtualServerConnStats"));
        _call.setProperty (Call.USERNAME_PROPERTY, "wstest");  //added this
        _call.setProperty (Call.PASSWORD_PROPERTY, "WsTest");  // added this

        setRequestHeaders(_call);