主题 : Java通过axis调用.NET WebService

UID: 9964
级别: 恶魔城城主
精华: 0
发帖: 118453
灵魂: 0 颗
水晶: 483 颗
贡献石: 17166 颗
警告石: 2 颗
好评石: 190221 颗
信誉石: 2 颗
技术分: 29462 分
活跃分: 318 分
社团: 『寂寞ˇ 党』
银行水晶总资产: 1 颗
在线时间: 20831(小时)
注册时间: 2010-05-02
最后登录: 2017-02-01
楼主  发表于: 2015-06-06 12:21

Java通过axis调用.NET WebService

分享到:
前面已经记录过通过axis调用webservice《http://www.linuxhttp://idc.myhack58.com/.com/Linux/2015-06/118460.htm》,昨天在对接.NET接口时,发现在传递参数时和一般的传参方法是不一样的,在接口方哥们的帮助下解决了。哈哈。

import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.message.SOAPHeaderElement;
public class MapWebServices {
public static void main(String[] args) {
  String soapaction = "http://xxxx.xxxx.xxx/xsd";
  String endpoint = "http://xx.xxx.xx.xxx:8080/XxxXxx/services/xxxs";
  Service service = new Service();
  try {
  Call call = (Call) service.createCall();
  call.setTimeout(new Integer(60000));
  call.set黑吧EndpointAddress(new URL(endpoint));
  call.setOperationName(new QName(soapaction, "getXxxx"));
  SOAPHeaderElement headerElement = new SOAPHeaderElement(soapaction, "AuthHeaderCS");
  headerElement.setNamespaceURI(soapaction);
  headerElement.addChildElement("username").setValue("xxxx");
  headerElement.addChildElement("application").setValue("Xxxx");
  headerElement.addChildElement("department").setValue("TestDept");
  call.addHeader(headerElement);
  call.setReturnType(XMLType.XSD_STRING);
  call.addParameter("o", XMLType.XSD_STRING, ParameterMode.IN);
  String ret = (String) call.invoke(new Object[] { null });
  System.out.println(ret);  
  } catch (Exception e) {
  e.printStackTrace();
  }
}
}

在传值时需要注意的是不是以前的

call.addParameter("o", XMLType.XSD_STRING, ParameterMode.IN);

需要将参数存到SOAPHeaderElement中,然后再call.addHeader,就可以了。

SOAPHeaderElement headerElement = new SOAPHeaderElement(soapaction, "AuthHeaderCS");
  headerElement.setNamespaceURI(soapaction);
  headerElement.addChildElement("username").setValue("xxxx");
  headerElement.addChildElement("application").setValue("Xxxx");
  headerElement.addChildElement("department").setValue("TestDept");
  call.addHeader(headerElement);


来自:   顶端
UID: 534463
级别: 光明使者
精华: 0
发帖: 1475
灵魂: 0 颗
水晶: 0 颗
贡献石: 0 颗
警告石: 0 颗
好评石: -5 颗
信誉石: 0 颗
技术分: 264 分
活跃分: 0 分
银行水晶总资产: 0 颗
在线时间: 300(小时)
注册时间: 2017-02-19
最后登录: 2018-01-22
1楼  发表于: 2017-06-06 19:04

摇钱树网管软件一次注册,终身使用,免去月月付费的麻烦,价格更实惠,24小时免费技术支持,让网吧无任何后顾之忧
来自:   顶端
UID: 534463
级别: 光明使者
精华: 0
发帖: 1475
灵魂: 0 颗
水晶: 0 颗
贡献石: 0 颗
警告石: 0 颗
好评石: -5 颗
信誉石: 0 颗
技术分: 264 分
活跃分: 0 分
银行水晶总资产: 0 颗
在线时间: 300(小时)
注册时间: 2017-02-19
最后登录: 2018-01-22
2楼  发表于: 2017-08-27 19:18

摇钱树网吧计费软件软件可以满足不同层次的客户要求,一次注册、终身使用,并且拥有24小时的在线技术服务,是在同类软件中拥有更高性价比的产品
来自:   顶端
UID: 535595
级别: 论坛游民
精华: 0
发帖: 30
灵魂: 0 颗
水晶: 0 颗
贡献石: 0 颗
警告石: 0 颗
好评石: 1 颗
信誉石: 0 颗
技术分: 1 分
活跃分: 0 分
银行水晶总资产: 0 颗
在线时间: 48(小时)
注册时间: 2017-08-24
最后登录: 2017-10-16
3楼  发表于: 2017-08-31 09:22

顶一个 !!!!!!!
来自:   顶端
UID: 534463
级别: 光明使者
精华: 0
发帖: 1475
灵魂: 0 颗
水晶: 0 颗
贡献石: 0 颗
警告石: 0 颗
好评石: -5 颗
信誉石: 0 颗
技术分: 264 分
活跃分: 0 分
银行水晶总资产: 0 颗
在线时间: 300(小时)
注册时间: 2017-02-19
最后登录: 2018-01-22
4楼  发表于: 2017-12-29 17:07

用别人的车子赚钱,滴滴做到了;
用别人的厨艺赚钱,美团做到了;
用别人的产品赚钱,淘宝做到了;
用别人的飞机赚钱,携程做到了;
用别人的网吧赚钱,网咖联盟做到了:
网吧主页、云计算、桌面图标,无影响无风险收益高,优尼网吧增值是首选
来自:   顶端
QQ综合区实习版主
UID: 4179
级别: 青干剑→版主
精华: 0
发帖: 84033
灵魂: 6 颗
水晶: 0 颗
贡献石: 2867 颗
警告石: 0 颗
好评石: 40138 颗
信誉石: 25 颗
技术分: 2870 分
活跃分: 354 分
银行水晶总资产: 1048 颗
在线时间: 3506(小时)
注册时间: 2009-10-03
最后登录: 2018-01-22
5楼  发表于: 2018-01-09 16:00

看来我得认真学
来自:   顶端