call.setReturnType(new QName("http://tempuri.org/", "response"), User.class);//User这里是重点,返回时主要在这配置,User为返回的对象 // 注册映射关系 QName XljgInfo = new QName("http://tempuri.org/", "User");//此处的 User为WSDL文件中complexType name的属性值 //这里注册映射关系,对自定义的类进行序列化与反序列化。 call.registerTypeMapping(User.class, XljgInfo, new BeanSerializerFactory(User.class, XljgInfo), new BeanDeserializerFactory(User.class, XljgInfo));//User.class同上, User itv =(User) call.invoke(new Object[] {"admin","admin"});//接口接收的参数错误信息:org.xml.sax.SAXException: Invalid element in User - UserName在网上找不到,求解
String endpoint = "http://localhost:79/JVMWebservice.asmx?wsdl";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint));
call.setOperationName(new QName("http://tempuri.org/", "LoginMethod"));//Login为要调用的方法名 //http://tempuri.org/为 wsdl中 targetNamespace 的值 以下相同
call.addParameter(new QName("http://tempuri.org/",
"username"),XMLType.SOAP_STRING,ParameterMode.IN);//这里的username为传入参数的变量名字
call.addParameter(new QName("http://tempuri.org/",
"password"),XMLType.SOAP_STRING,ParameterMode.IN);//这里的password为传入参数的变量名字
call.setReturnType(new QName("http://tempuri.org/",
"response"), User.class);//User这里是重点,返回时主要在这配置,User为返回的对象 // 注册映射关系
QName XljgInfo = new QName("http://tempuri.org/", "User");//此处的 User为WSDL文件中complexType name的属性值 //这里注册映射关系,对自定义的类进行序列化与反序列化。 call.registerTypeMapping(User.class, XljgInfo,
new BeanSerializerFactory(User.class, XljgInfo),
new BeanDeserializerFactory(User.class, XljgInfo));//User.class同上, User itv =(User) call.invoke(new Object[] {"admin","admin"});//接口接收的参数错误信息:org.xml.sax.SAXException: Invalid element in User - UserName在网上找不到,求解