No deserializer for org.uddi4j.datatype.Name


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.
 
Ad

Advertisements

T

thefatson

Still no progress.
I found an xsd schema file in juddi/WEB-INF/classes/uddi_v2.xsd

This has all of the type mapping for juddi and is very useful for
writing WSDL for UDDI entities.

I'm going to update my wsdl using this.
I'll keep anyone who cares posted.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top