webservice传不过去值是怎么回事?
飞猪掉坑里 2017-06-07 12:40:22 request.setCharacterEncoding("utf-8");
PrintWriter out=response.getWriter();
String account=request.getParameter("account");
String token=request.getParameter("token");
//out.print("<script>alert('"+token+"');</script>");
System.out.println(account);
System.out.println(token);
String res = "";
boolean bool =true;
// if(account.equals("1")&&token.equals("1")){
// res=false;
// }
// if(account.equals("2")&&token.equals("2")){
// res=true;
// }
// String endpoint="http://192.168.1.104/PARENT/service1.asmx";
String endpoint="http://sso.hepalink.net/SSOServices.asmx";
Service s=new Service();
Call call;
try {
call=(Call) s.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint));
//call.setEncodingStyle("UTF-8");//设置字符集
call.setOperationName(new QName("http://SSO.Canway.net/","ValidateToken"));
call.addParameter(new QName("http://SSO.Canway.net/", "account"), XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter(new QName("http://SSO.Canway.net/", "token"), XMLType.XSD_STRING,ParameterMode.IN);
call.setReturnType(XMLType.XSD_STRING);
call.setSOAPActionURI("http://SSO.Canway.net/ValidateToken");
call.setUseSOAPAction(true);
//这里注意有方法名,已经引用的地址。从net接口中找
res =(String) call.invoke(new Object[]{"11408209","sdfdsfds"});
//返回值String
System.err.println("==11=>"+res);
System.out.println("--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
System.out.println("登录token:"+res);
} catch (ServiceException e) {
e.printStackTrace();
}
XML配置文件
<s:element name="ValidateToken">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="account" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="token" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>