您的位置:首页 > 其它

axis2调用带Authentication认证的webservice

2015-08-01 13:51 288 查看
Java代码


package com.wujianjun.axis2.client;

import org.apache.axiom.om.OMAbstractFactory;

import org.apache.axiom.om.OMElement;

import org.apache.axiom.om.OMFactory;

import org.apache.axiom.om.OMNamespace;

import org.apache.axis2.AxisFault;

import org.apache.axis2.addressing.EndpointReference;

import org.apache.axis2.client.Options;

import org.apache.axis2.client.ServiceClient;

import org.apache.axis2.transport.http.HTTPConstants;

import org.apache.axis2.transport.http.HttpTransportProperties;

public class TestClient {

public static void main(String[] args) {

try {

ServiceClient sc = new ServiceClient();

Options opts = sc.getOptions();

opts.setTo(new EndpointReference("http://10.10.0.68:8000/sap/bc/srt

/rfc/sap/ztest/110/ztest/ztest"));

opts.setAction("urn:ZTEST");

HttpTransportProperties.Authenticator basicAuth =

new HttpTransportProperties.Authenticator();

basicAuth.setUsername("liuhand");

basicAuth.setPassword("dev110");

// basicAuthentication.setHost("xx.xx.x.xx");

// basicAuthentication.setDomain("xx.xx.xx.xx");

opts.setProperty(HTTPConstants.AUTHENTICATE, basicAuth);

OMElement res = sc.sendReceive(createPayLoad());

System.out.println(res);

} catch (AxisFault e) {

e.printStackTrace();

}

}

public static OMElement createPayLoad() {

OMFactory fac = OMAbstractFactory.getOMFactory();

OMNamespace omNs = fac.createOMNamespace("urn:sap-com:document:sap:rfc:functions","m");

OMElement method = fac.createOMElement("ZTEST", omNs);

OMElement value = fac.createOMElement("IM_P", null);

value.setText("Hello");

method.addChild(value);

System.out.println(method);

return method;

}

}

如果不加

# HttpTransportProperties.Authenticator basicAuth = new HttpTransportProperties.Authenticator();

# basicAuth.setUsername("liuhand");

# basicAuth.setPassword("dev110");

# // basicAuthentication.setHost("xx.xx.x.xx");

# // basicAuthentication.setDomain("xx.xx.xx.xx");

# opts.setProperty(HTTPConstants.AUTHENTICATE, basicAuth);

就会出现用户名密码错误的问题。

加上以上代码,把用户名和密码改成你项目中正确的用户名和密码就可以解决问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: