Flask接口签名sign原理与实例代码浅析
458
2022-11-19
Java 使用Axis调用WebService的示例代码
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
/**
* @ClassName: TestAxis
* @Description: TODO(描述这个类的作用)
* @author huc
*
*/
public class TestAxis {
public static void main(String []args){
String inConditions = "
SmMlGMtring inLicense = "********";
try{
//调用webservice地址
String url = "https://****.com/services/NciicServices"; //如果url地址中有中文参数,要注意应单独将中文部分进行编码操作后再与URL字符串拼接到一起,编码方式为:URLEncoder.encode("中文部分", "utf-8");
//调用方法名
String method="nciicCheck";
Service service = new Service();
//通过service创建call对象
Call call = mMlGM(Call) service.createCall(); //call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS); 设置soap12协议方式调用
//设置服务地址
call.setTargetEndpointAddress(new java.net.URL(url));
//设置调用方法
call.setOperationName(method);
call.setUseSOAPAction(trmMlGMue);
//添加方法的参数,有几个添加几个
//inLicense是参数名,XSD_STRING是参数类型,IN代表传入
call.addParameter("inLicense", org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
call.addParameter("inConditions", org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
//带命名空间的写法
//call.setOperationName(new QName("http://bussiness.***.com", "callPT")); //call.addParameter(new QName("http://bussiness.***.com","xmlData"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN); //call.addParameter(new QName("http://bussiness.***.com","methodName"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
//设置返回类型
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING); //解决错误:服务器未能识别 HTTP 头 SOAPAction 的值 call.setUseSOAPAction(true); call.setSOAPActionURI(targetNamespace + operationName);
Object ret= null;
try{
//使用invoke调用方法,Object数据放传入的参数值
ret = call.invoke(new Object[] {inLicense,inConditions});
}catch(Exception e){
e.printStackTrace();
}
//输出SOAP请求报文
System.out.println("--SOAP Request: " + call.getMessageContext().getRequestMessage().getSOAPPartAsString());
//输出SOAP返回报文
System.out.println("--SOAP Response: " + call.getResponseMessage().getSOAPPartAsString());
//输出返回信息
System.out.println("result==="+ret.toString());
}catch(Exception e){
e.printStackTrace();
}
}
}
下面是输出结果信息:
--SOAP Request:
--SOAP Response:
<RESPONSE errorcode="-72" code="0" countrows="1"><ROWS><ROW><ErrorCode>-72</ErrorCode><ErrorMsg>IP地址受限</ErrorMsg></ROW></ROWS></RESPONSE>
result===
以上就是Java 使用Axis调用WebService的示例代码的详细内容,更多关于Java 使用Axis调用WebService的资料请关注我们其它相关文章!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~