我做webservice开发的时候 报错:org.xml.sax.SAXException: SimpleDeserializer encountered a
大家好:我做webservice开发的时候 报错如下:
不能取到需要的结果:
- Exception:
org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:145)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
at org.apache.axis.client.Call.invoke(Call.java:2467)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.mapbar.weiyena.Web6.test(Web6.java:53)
at com.mapbar.weiyena.Web6.main(Web6.java:23)
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:145)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
at org.apache.axis.client.Call.invoke(Call.java:2467)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.mapbar.weiyena.Web6.test(Web6.java:53)
at com.mapbar.weiyena.Web6.main(Web6.java:23)
{http://xml.apache.org/axis/}hostname:xxx
我的代码如下:
package com.mapbar.weiyena;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import com.mapbar.model.HotelDict;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import java.lang.Integer;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class Web6 {
/**
* @param args
*/
public static void main(String[] args) {
test();
}
private static void test() {
// WebService URL
String url = "http://service.wyn88.com/mapbarsvc/mapresv.asmx?wsdl";
String namespace = "http://service.wyn88.com/mapbarsvc/";
String method = "GetHotelDict";
try {
Service service = new Service();
Call call = (Call) service.createCall();
QName qn=new QName(namespace, method);
call.setTargetEndpointAddress(new java.net.URL(url));
call.setOperationName(qn);
call.setReturnClass(HotelDict.class);
call.addParameter(new QName(namespace,"HotelId"),
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.setUseSOAPAction(true);
call.setSOAPActionURI(namespace+method);
call.setReturnType(XMLType.XSD_STRING);
String HotelId = "003";
Object[] parameters = new Object[] {HotelId};
HotelDict hd = (HotelDict)call.invoke(parameters);
System.out.println("hotelname:"+hd.getHotelName());
} catch (Exception e) {
e.printStackTrace();
}
}
}
javabean:
package com.mapbar.model;
import java.io.Serializable;
public class HotelDict implements Serializable{
private static final long serialVersionUID = 1L;
public String HotelId;
public String HotelName;
public String ShortName;
public String Description;
public String Address;
public String Phone;
public String Fax;
public String PostCode;
public String LinkUrl;
public String Province;
public String City;
public String District;
public String Longitude;
public String Latitude;
public String getHotelId() {
return HotelId;
}
public void setHotelId(String hotelId) {
HotelId = hotelId;
}
public String getHotelName() {
return HotelName;
}
public void setHotelName(String hotelName) {
HotelName = hotelName;
}
public String getShortName() {
return ShortName;
}
public void setShortName(String shortName) {
ShortName = shortName;
}
public String getDescription() {
return Description;
}
public void setDescription(String description) {
Description = description;
}
public String getAddress() {
return Address;
}
public void setAddress(String address) {
Address = address;
}
public String getPhone() {
return Phone;
}
public void setPhone(String phone) {
Phone = phone;
}
public String getFax() {
return Fax;
}
public void setFax(String fax) {
Fax = fax;
}
public String getPostCode() {
return PostCode;
}
public void setPostCode(String postCode) {
PostCode = postCode;
}
public String getLinkUrl() {
return LinkUrl;
}
public void setLinkUrl(String linkUrl) {
LinkUrl = linkUrl;
}
public String getProvince() {
return Province;
}
public void setProvince(String province) {
Province = province;
}
public String getCity() {
return City;
}
public void setCity(String city) {
City = city;
}
public String getDistrict() {
return District;
}
public void setDistrict(String district) {
District = district;
}
public String getLongitude() {
return Longitude;
}
public void setLongitude(String longitude) {
Longitude = longitude;
}
public String getLatitude() {
return Latitude;
}
public void setLatitude(String latitude) {
Latitude = latitude;
}
}