- 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);
就会出现用户名密码错误的问题。
加上以上代码,把用户名和密码改成你项目中正确的用户名和密码就可以解决问题。
# 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);
就会出现用户名密码错误的问题。
加上以上代码,把用户名和密码改成你项目中正确的用户名和密码就可以解决问题。