调用webService接口

调用方法

private static void YNKY(){
try {
String xml = FileUtil.getFileToString("JTAutoClaim.xml");//获取要发送的报文
String result = XmlUtil.getXML("CommonAirDelayPort","TransToClaimCommonAirDelay",xml,XmlUtil.UAT_SERVER);
} catch (Exception e) {
e.printStackTrace();
}finally {
}

工具类:

public class XmlUtil {
public static final String INT_SERVER="int";
public static final String UAT_SERVER="uat";
public static final String LOCAL_SERVER="local";
public static final String IP_SERVER="ip";
/**
* 调webservice接口获取xml
*/
public static String getXML(String port,String methodName,String xml,String server) throws AxisFault {
String retXML="";
String strUrl="";
String nameSpace = "http://service.wsCallcenter.sunshine.com/";
if("uat".equals(server)){
strUrl="http://10.8.198.39:7007/wsCallcenterAuto/"+port;
}else if ("int".equals(server)){
strUrl = "http://10.8.198.37:7051/wsCallcenter/" + port;
}else{
strUrl="http://localhost:7001/WebRoot/"+port;
}
RPCServiceClient serviceClient = null;
try {
serviceClient=new RPCServiceClient();
Options options = serviceClient.getOptions();
EndpointReference targetEPR = new EndpointReference(strUrl);
options.setTo(targetEPR);
options.setTimeOutInMilliSeconds(10000000);
options.setManageSession(true);
serviceClient.cleanupTransport();
// 指定要调用的addStudent方法及WSDL文件的命名空间
final QName qName = new QName(nameSpace,methodName);
// 域名不检查
serviceClient.getOptions().setProperty(HTTPConstants.CHUNKED,"false");
// 调用addStudent方法并输出该方法的返回值
retXML= serviceClient.invokeBlocking(qName,new Object[] { xml },new Class[] { String.class })[0]
.toString();
} catch (AxisFault e) {
e.printStackTrace();
}finally {
if(serviceClient!=null){
serviceClient.cleanupTransport();
serviceClient.cleanup();
}
}
return retXML;
}

 

/**
* 读取本地文件转成字符串
*/
public static String getFileToString(String xmlName) throws Exception{
File file = new File("D:\\jarnew\\autoclaim\\wsCallcenterClient2\\src\\com\\sunshine\\file\\"+xmlName);
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
byte[] data = null;
byte[] b = new byte[1024];
int read = 0;
FileInputStream in = new FileInputStream(file);
while ( ( read = in.read( b ) ) > 0 )
{
byteOut.write( b,read );
}
data = byteOut.toByteArray();
in.close();
String result = new String( data );
return result;
}

}

 }

相关文章

1.使用ajax调用varxhr;functioninvoke(){if(window.ActiveXO...
               好不容易把WebService服务器...
1新建一个工程项目用来做服务端增加一个MyService1类文件pac...
packagecom.transsion.util;importjava.io.BufferedReader;i...
再生产wsdl文件时重写描述文件1usingSystem;2usingSystem.Co...
一般情况下,使用eclipse自带的jax-ws生成webservice会自动生...