Hi Folks,
I have a simple web service in a Globus which passes xsd:anyType object as a
parameter and gives following errors. If I pass a xsd:string it works
perfectly. My Globus version is 4.0.6 following resources related to this
issue. Is this is a bug in Globus or am I missing something here?
Cheers,
Lasantha
*WSDL:*
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="PPManagerService"
targetNamespace="http://www.gridtrust.org/namespaces/ppm"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://www.gridtrust.org/namespaces/ppm"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsrp="
http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd
"
xmlns:wsrpw="
http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl
"
xmlns:wsdlpp="http://www.globus.org/namespaces/2004/10/WSDLPreprocessor"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:import
namespace="
http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl
"
location="../../wsrf/properties/WS-ResourceProperties.wsdl" />
<!--============================================================
T Y P E S
============================================================-->
<types>
<xsd:schema
targetNamespace="http://www.gridtrust.org/namespaces/ppm"
xmlns:tns="http://www.gridtrust.org/namespaces/ppm"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!-- REQUESTS AND RESPONSES -->
<xsd:element name="registerUser">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="voId"
type="xsd:string" />
<xsd:element name="userProfile"
type="xsd:anyType" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="registerUserResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="return" type="xsd:boolean" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<!-- RESOURCE PROPERTIES -->
</xsd:schema>
</types>
<!--============================================================
M E S S A G E S
============================================================-->
<wsdl:message name="registerUserMessage">
<wsdl:part name="part1" element="tns:registerUser" />
</wsdl:message>
<wsdl:message name="registerUserResponse">
<wsdl:part name="part1" element="tns:registerUserResponse" />
</wsdl:message>
<!--============================================================
P O R T T Y P E
============================================================-->
<portType name="PPManagerPortType"
wsdlpp:extends="wsrpw:GetResourceProperty">
<operation name="registerUser">
<input message="tns:registerUserMessage" />
<output message="tns:registerUserResponse" />
</operation>
</portType>
</definitions>
*Parameter Class pass to the Object :*
public class UserProfile implements Serializable{
/**
*
*/
private static final long serialVersionUID = 3222704176424623598L;
private String userId;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
@Override
public String toString(){
return userId;
}
}
*Client Side Error:
*main] ERROR ser.BeanSerializer - Exception:
java.io.IOException: No serializer found for class
org.gridtrust.ppm.impl.UserProfile in registry
[EMAIL PROTECTED]
at org.apache.axis.encoding.SerializationContext.serializeActual(
SerializationContext.java:1358)
at org.apache.axis.encoding.SerializationContext.serialize(
SerializationContext.java:881)
at org.apache.axis.encoding.SerializationContext.serialize(
SerializationContext.java:669)
at org.apache.axis.encoding.ser.BeanSerializer.serialize(
BeanSerializer.java:192)
at org.apache.axis.encoding.SerializationContext.serializeActual(
SerializationContext.java:1355)
at org.apache.axis.encoding.SerializationContext.serialize(
SerializationContext.java:881)
at org.apache.axis.message.RPCParam.serialize(RPCParam.java:177)
at org.apache.axis.message.RPCElement.outputImpl(RPCElement.java:435)
at org.apache.axis.message.MessageElement.output(MessageElement.java
:1207)
at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:139)
at org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java
:485)
at org.apache.axis.message.MessageElement.output(MessageElement.java
:1207)
at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:297)
at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:271)
at org.apache.axis.Message.writeTo(Message.java:523)
at org.apache.axis.transport.http.HTTPSender.writeToSocket(
HTTPSender.java:488)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:135)
at org.apache.axis.strategies.InvocationStrategy.visit(
InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2727)
at org.apache.axis.client.Call.invoke(Call.java:2710)
at org.apache.axis.client.Call.invoke(Call.java:2386)
at org.apache.axis.client.Call.invoke(Call.java:2309)
at org.apache.axis.client.Call.invoke(Call.java:1766)
at
org.gridtrust.ppm.bindings.PPManagerPortTypeSOAPBindingStub.registerUser(
PPManagerPortTypeSOAPBindingStub.java:421)
at org.gridtrust.ppm.Client.main(Client.java:26)
*Server Side Error :
*2008-02-21 14:57:07,514 ERROR
handler.AddressingHandler[ServiceThread-11,invoke:120] Exception in
AddressingHandler
AxisFault
faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.userException<http://schemas.xmlsoap.org/soap/envelope/%7DServer.userException>
faultSubcode:
faultString: org.xml.sax.SAXParseException: Premature end of file.
faultActor:
faultNode:
faultDetail:
{
http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXParseException<http://xml.apache.org/axis/%7DstackTrace:org.xml.sax.SAXParseException>:
Premature end of file.
at
org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown
Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown
Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown
Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown
Source)
at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.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(SAXParser.java:375)
at org.apache.axis.encoding.DeserializationContext.parse(
DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:645)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
at
org.apache.axis.message.addressing.handler.AddressingHandler.processServerRequest
(AddressingHandler.java:328)
at org.globus.wsrf.handlers.AddressingHandler.processServerRequest(
AddressingHandler.java:77)
at
org.apache.axis.message.addressing.handler.AddressingHandler.invoke(
AddressingHandler.java:114)
at org.apache.axis.strategies.InvocationStrategy.visit(
InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:248)
at org.globus.wsrf.container.ServiceThread.doPost(ServiceThread.java
:664)
at org.globus.wsrf.container.ServiceThread.process(
ServiceThread.java:382)
at org.globus.wsrf.container.ServiceThread.run(ServiceThread.java
:291)