T
thefatson
Hello, I'm having trouble getting a webservice to work using
java1.5.0.7, tomcat 5.5.17, jUDDI0.9rc4 and UDDI4J V2 on SuSe Linux.
Stack Trace:
AxisFault
faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: No deserializer for
org.uddi4j.datatype.Name
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:condor
org.xml.sax.SAXException: No deserializer for org.uddi4j.datatype.Name
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.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: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
~/DataCentre.security.SecureOperation.Call(SecureOperation.java:238)
at ~/DataCentre.client.ClientAdd.create(ClientAdd.java:68)
at ~/DataCentre.client.ClientAdd.<init>(ClientAdd.java:48)
at ~/DataCentre.client.ClientAdd.main(ClientAdd.java:79)
I am using UDDI4j to pass a BusinessEntity and authInfo wrapped in a
custom class to jUDDI to add it to the registry.
There is a typeMapping for Name in my wsdd using
BeanSerializer/DeSerializer.
If I use SimpleSerializer I get a unexpected child node error.
TCPMON shows that some sort of soap is being passed to the service but
the service code fails when it tries to save the business via
UDDIproxy.save_business();
sent SOAP:
POST /DataCentre/services/DataCentre HTTP/1.1
Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related,
text/*
User-Agent: Axis/1.4
Host: localhost:8081
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Transfer-Encoding: chunked
Connection: close
831
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
<soapenv:Header>
<wsa:MessageID
soapenv:mustUnderstand="0">uuid:b64bc2c0-3c20-11db-938f-8aa22e82b742</wsa:MessageID>
<wsa:To
soapenv:mustUnderstand="0">http://localhost:8081/DataCentre/services/DataCentre</wsa:To>
<wsa:From soapenv:mustUnderstand="0">
<wsa:Address>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:Address>
</wsa:From>
</soapenv:Header>
<soapenv:Body>
<createBusiness xsi:type="uk.ac.????.DataCentre.impl.DCParam"
xmlns="">
<authInfo
xsi:type="xsd:string">authToken:B?????F0-3??0-11DB-A391?????E770</authInfo>
<businessE
xsi:type="org.uddi4j.datatype.business.BusinessEntity">
<authorizedName xsi:type="xsd:string" xsi:nil="true"/>
<businessKey xsi:type="xsd:string"/>
<businessServices xsi:nil="true"/>
<categoryBag xsi:nil="true"/>
<contacts xsi:nil="true"/>
<defaultDescriptionString xsi:type="xsd:string"
xsi:nil="true"/>
<defaultName xsi:type="org.uddi4j.datatype.Name">
<lang xsi:type="xsd:string" xsi:nil="true"/>
<text
xsi:type="xsd:string">TheCakeWondersOfTheWorld</text>
</defaultName>
<defaultNameString
xsi:type="xsd:string">TheCakeWondersOfTheWorld</defaultNameString>
<descriptionVector xsi:type="ns1:Vector"
xmlns:ns1="http://xml.apache.org/xml-soap"/>
<discoveryURLs xsi:nil="true"/>
<identifierBag xsi:nil="true"/>
<name xsi:type="org.uddi4j.datatype.Name">
<lang xsi:type="xsd:string" xsi:nil="true"/>
<text
xsi:type="xsd:string">TheCakeWondersOfTheWorld</text>
</name>
<nameString
xsi:type="xsd:string">TheCakeWondersOfTheWorld</nameString>
<nameVector xsi:type="ns2:Vector"
xmlns:ns2="http://xml.apache.org/xml-soap">
<item xsi:type="org.uddi4j.datatype.Name">
<lang xsi:type="xsd:string" xsi:nil="true"/>
<text
xsi:type="xsd:string">TheCakeWondersOfTheWorld</text>
</item>
</nameVector>
<operator xsi:type="xsd:string" xsi:nil="true"/>
</businessE>
</createBusiness>
</soapenv:Body>
</soapenv:Envelope>0
The business is called TheCakeWondersOfTheWorld, its a joke test
business that sells ficticious wonderous cakes.
I'll post my java/wsdl/wsdd if anyone thinks it will help. I added all
those question marks to hide my organisation/auth info.
java1.5.0.7, tomcat 5.5.17, jUDDI0.9rc4 and UDDI4J V2 on SuSe Linux.
Stack Trace:
AxisFault
faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: No deserializer for
org.uddi4j.datatype.Name
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:condor
org.xml.sax.SAXException: No deserializer for org.uddi4j.datatype.Name
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.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: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
~/DataCentre.security.SecureOperation.Call(SecureOperation.java:238)
at ~/DataCentre.client.ClientAdd.create(ClientAdd.java:68)
at ~/DataCentre.client.ClientAdd.<init>(ClientAdd.java:48)
at ~/DataCentre.client.ClientAdd.main(ClientAdd.java:79)
I am using UDDI4j to pass a BusinessEntity and authInfo wrapped in a
custom class to jUDDI to add it to the registry.
There is a typeMapping for Name in my wsdd using
BeanSerializer/DeSerializer.
If I use SimpleSerializer I get a unexpected child node error.
TCPMON shows that some sort of soap is being passed to the service but
the service code fails when it tries to save the business via
UDDIproxy.save_business();
sent SOAP:
POST /DataCentre/services/DataCentre HTTP/1.1
Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related,
text/*
User-Agent: Axis/1.4
Host: localhost:8081
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Transfer-Encoding: chunked
Connection: close
831
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
<soapenv:Header>
<wsa:MessageID
soapenv:mustUnderstand="0">uuid:b64bc2c0-3c20-11db-938f-8aa22e82b742</wsa:MessageID>
<wsa:To
soapenv:mustUnderstand="0">http://localhost:8081/DataCentre/services/DataCentre</wsa:To>
<wsa:From soapenv:mustUnderstand="0">
<wsa:Address>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:Address>
</wsa:From>
</soapenv:Header>
<soapenv:Body>
<createBusiness xsi:type="uk.ac.????.DataCentre.impl.DCParam"
xmlns="">
<authInfo
xsi:type="xsd:string">authToken:B?????F0-3??0-11DB-A391?????E770</authInfo>
<businessE
xsi:type="org.uddi4j.datatype.business.BusinessEntity">
<authorizedName xsi:type="xsd:string" xsi:nil="true"/>
<businessKey xsi:type="xsd:string"/>
<businessServices xsi:nil="true"/>
<categoryBag xsi:nil="true"/>
<contacts xsi:nil="true"/>
<defaultDescriptionString xsi:type="xsd:string"
xsi:nil="true"/>
<defaultName xsi:type="org.uddi4j.datatype.Name">
<lang xsi:type="xsd:string" xsi:nil="true"/>
<text
xsi:type="xsd:string">TheCakeWondersOfTheWorld</text>
</defaultName>
<defaultNameString
xsi:type="xsd:string">TheCakeWondersOfTheWorld</defaultNameString>
<descriptionVector xsi:type="ns1:Vector"
xmlns:ns1="http://xml.apache.org/xml-soap"/>
<discoveryURLs xsi:nil="true"/>
<identifierBag xsi:nil="true"/>
<name xsi:type="org.uddi4j.datatype.Name">
<lang xsi:type="xsd:string" xsi:nil="true"/>
<text
xsi:type="xsd:string">TheCakeWondersOfTheWorld</text>
</name>
<nameString
xsi:type="xsd:string">TheCakeWondersOfTheWorld</nameString>
<nameVector xsi:type="ns2:Vector"
xmlns:ns2="http://xml.apache.org/xml-soap">
<item xsi:type="org.uddi4j.datatype.Name">
<lang xsi:type="xsd:string" xsi:nil="true"/>
<text
xsi:type="xsd:string">TheCakeWondersOfTheWorld</text>
</item>
</nameVector>
<operator xsi:type="xsd:string" xsi:nil="true"/>
</businessE>
</createBusiness>
</soapenv:Body>
</soapenv:Envelope>0
The business is called TheCakeWondersOfTheWorld, its a joke test
business that sells ficticious wonderous cakes.
I'll post my java/wsdl/wsdd if anyone thinks it will help. I added all
those question marks to hide my organisation/auth info.