在调用webservice之前设置标头

时间:2015-04-09 15:00:23

标签: java eclipse web-services axis2 wsdl2java

我使用Eclipse生成了一个Web服务客户端。 现在我需要在标题中添加用户名和密码,以便身份验证不起作用。

这是我的源代码:

    ....
    ....
    org.apache.axis.client.Call _call = createCall();

    _call.setOperation(_operations[2]);
    _call.setUseSOAPAction(true);
    _call.setSOAPActionURI("");
    _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(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
    _call.setOperationName(new javax.xml.namespace.QName("http://uploadservice.xyz.it/", "ListFatturaPA"));

    _call.setProperty("username","xyz");
    _call.setProperty("password","xyz");


    setRequestHeaders(_call);
    setAttachments(_call);
    ....
    ....

问题出在哪里?

卡罗

1 个答案:

答案 0 :(得分:0)

“用户名”和“密码”是错误的密钥。 改为使用给定的方法。

更改

_call.setProperty("username","xyz");
_call.setProperty("password","xyz");

_call.setUsername("xyz");
_call.setPassword("xyz");

来源: https://axis.apache.org/axis/java/apiDocs/org/apache/axis/client/Call.html