Hello,
I am trying to call a document oriented webservice
passing an object as a parameter.
Here is the service code
package mypackage.webservice;
import mypackage.types.Product;
public class DocTestWebservice {
public void readProduct(Product p) {
//Something here
}
}
Product.class
package mypackage.types;
public class Product {
private String id;
private String longName;
private String shortName;
public Product()
{
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getLongName() {
return longName;
}
public void setLongName(String longName) {
this.longName = longName;
}
public String getShortName() {
return shortName;
}
public void setShortName(String shortName) {
this.shortName = shortName;
}
}
WSDD content
<service name="DOCTestWS" style="document">
<parameter name="className"
value="mypackage.webservice.DocTestWebservice" />
<parameter name="allowedMethods" value="*"/>
<beanMapping qname="myNS:Product"
xmlns:myNS="DocTestWebservice"
languageSpecificType="java:mypackage.types.Product"/>
</service>
Client Code:
String ep =
"http://localhost:7001/pmws/services/DOCTestWS";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(ep));
call.setOperationName("readProduct");
Product p = getProduct();
QName qn = new QName( "DocTestWebservice",
"Product" );
call.registerTypeMapping(Product.class, qn,
new
org.apache.axis.encoding.ser.BeanSerializerFactory(Product.class,
qn),new
org.apache.axis.encoding.ser.BeanDeserializerFactory(Product.class,
qn));
Object[] params = { p };
call.invoke(params);
Getting this
AxisFault
faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: Invalid
element in mypackage.types.Product - arg0
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:ACE0149599
org.xml.sax.SAXException: Invalid element in
mypackage.types.Product - arg0
at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at
org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
Source)
at
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at
org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at
org.apache.xerces.parsers.DTDConfiguration.parse(Unknown
Source)
at
org.apache.xerces.parsers.XMLParser.parse(Unknown
Source)
at
org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
Source)
at javax.xml.parsers.SAXParser.parse(Unknown
Source)
at
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at
org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at
org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at
org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at
org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at
org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at
org.apache.axis.client.Call.invoke(Call.java:2767)
at
org.apache.axis.client.Call.invoke(Call.java:2443)
at
org.apache.axis.client.Call.invoke(Call.java:2366)
at
org.apache.axis.client.Call.invoke(Call.java:1812)
at
webservice.test.clients.DocTestWebserviceClient.main(DocTestWebserviceClient.java:29)
Am I missing something? Please help.
Thanks
Aspert
____________________________________________________________________________________
Looking for earth-friendly autos?
Browse Top Cars by "Green Rating" at Yahoo! Autos' Green Center.
http://autos.yahoo.com/green_center/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]