Werner,

I am using a mapping file.  The classes were developed independently 
from the services.

Is there a way to coerce Spring or Castor to parse using SAX instead of 
DOM?  I didn't make a conscious decision either way and dont' believe 
that it matters to me.

I can send the WS portion of my Spring configuration file and castor 
mappings if that would be helpful.

Thank you,

-Dave


-----Original Message-----
From: Werner Guttmann [mailto:[EMAIL PROTECTED] 
Sent: Thursday, June 12, 2008 5:54 AM
To: [email protected]
Subject: Re: [castor-user] [XML] SOAP Response Causes Namespace-related 
Exception

Hi David,

I guess I will need something to play around a bit in order to have a 
full understanding of what's going wrong. But I have got a few questions
first:

a) Are you using a mapping file ? Or
b) Did you start with an XML schema and generate domain/descriptor 
classes from it ?

Having said that, looking at the stack trace, you might be right with 
you initial assessment about Castor not knowing about the SOAP-ENV 
namespace (prefix) at unmarshalling time.

One general observation as well: looking at some (fully qualified) class 
names in the (quite complete) stack trace, it looks like you are using 
DOM (rather than SAX for (un-)marshalling. That would be an issue to me 
....

Regards
Werner

Read, David wrote:
> Good day,
>  
> I am successfully using Castor to marshall data to a SOAP endpoint.  
> The endpoint accepts the data, runs its processing and returns what 
> appears to be a valid response.  However, Castor throws and 
> unmarshalling exception.
>  
> I am on Java 1.4 using Castor 1.2, Spring WS 1.5.2, Spring Core 2.5.4, 

> and Axoim 1.2 6.
>  
> I noticed that the last line before the exception is:
>  
> 2008-06-11 19:14:54,437 [Thread-00000] (UnmarshalHandler.java:1434) 
> DEBUG org.exolab.castor.xml.UnmarshalHandler  - #startElement:
> ns:AgentRegisterResponse
> 
> So it seems that something doesn't like the SOAP-ENV namespace being 
> used within the Body.
>  
> Here is the response I am receiving:
>  
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:ns="urn:RuleEngine:SOAP:TI:Event">
> <SOAP-ENV:Body>
> <ns:AgentRegisterResponse
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";>
> </ns:AgentRegisterResponse>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>  
> And the stack trace:
>  
> org.springframework.oxm.castor.CastorUnmarshallingFailureException:
> Castor unmarshalling exception: The namespace associated with the 
> prefix 'SOAP-ENV' could not be resolved.; nested exception is
> org.exolab.castor.xml.MarshalException: The namespace associated with 
> the prefix 'SOAP-ENV' could not be resolved.
>  at
> org.springframework.oxm.castor.CastorUtils.convertXmlException(CastorU
> ti
> ls.java:50)
>  at
> org.springframework.oxm.castor.CastorMarshaller.convertCastorException
> (C
> astorMarshaller.java:431)
>  at
> org.springframework.oxm.castor.CastorMarshaller.unmarshalDomNode(Casto
> rM
> arshaller.java:335)
>  at
> org.springframework.oxm.AbstractMarshaller.unmarshalDomSource(Abstract
> Ma
> rshaller.java:292)
>  at
> 
org.springframework.oxm.AbstractMarshaller.unmarshal(AbstractMarshaller.
> java:122)
>  at
> org.springframework.ws.support.MarshallingUtils.unmarshal(MarshallingU
> ti
> ls.java:65)
>  at
> org.springframework.ws.client.core.WebServiceTemplate$2.extractData(We
> bS
> erviceTemplate.java:337)
>  at
> org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive
> (W
> ebServiceTemplate.java:523)
>  at
> org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(W
> eb
> ServiceTemplate.java:465)
>  at
> org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndRe
> ce
> ive(WebServiceTemplate.java:314)
>  at
> org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndRe
> ce
> ive(WebServiceTemplate.java:308)
>  at
> com.ba.servicegovernor.webservice.WorkflowServiceGateway.sendPhoneRequ
> es
> t(WorkflowServiceGateway.java:130)
>  at
> com.ba.servicegovernor.webservice.WorkflowServiceGateway.sendRequest(W
> or
> kflowServiceGateway.java:63)
>  at
> 
com.ba.servicegovernor.handler.EventHandler.sendToWorkflow(EventHandler.
> java:175)
>  at
> com.ba.servicegovernor.handler.EventHandler.processEvent(EventHandler.
> ja
> va:151)
>  at
> com.ba.servicegovernor.handler.EventHandler.run(EventHandler.java:117)
>  at
> com.ba.servicegovernor.thread.ReusableThread.run(ReusableThread.java:1
> 60
> )
> Caused by: org.exolab.castor.xml.MarshalException: The namespace 
> associated with the prefix 'SOAP-ENV' could not be resolved.
>  at
> org.exolab.castor.xml.Unmarshaller.convertSAXExceptionToMarshalExcepti
> on
> (Unmarshaller.java:761)
>  at 
> org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:640)
>  at 
> org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:747)
>  at
> org.springframework.oxm.castor.CastorMarshaller.unmarshalDomNode(Casto
> rM
> arshaller.java:332)
>  ... 14 more
> Caused by: org.xml.sax.SAXException: The namespace associated with the 

> prefix 'SOAP-ENV' could not be resolved.
>  at
> org.exolab.castor.xml.UnmarshalHandler.processAttributeList(UnmarshalH
> an
> dler.java:3321)
>  at
> org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.j
> av
> a:1471)
>  at
> org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.j
> av
> a:246)
>  at
> org.exolab.castor.xml.util.DOMEventProducer.process(DOMEventProducer.j
> av
> a:183)
>  at
> 
org.exolab.castor.xml.util.DOMEventProducer.start(DOMEventProducer.java:
> 111)
>  at 
> org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:637)
>  ... 16 more
> 
>  
> I appreciate any guidance you can provide on where to look for a root 
> cause.
>  
> Thank you,
>  
> -Dave
>  
> 
> 
> 
> 
> This e-mail and any files transmitted with it are for the sole use of 
> Blue Slate Solutions and the intended recipient(s) and may contain 
> confidential and privileged information. If you are not the intended 
> recipient, please contact the sender by reply e-mail and destroy all 
> copies of the original message. Any unauthorized review, use, 
> disclosure, dissemination, forwarding, printing or copying of this 
> email or any action taken in reliance on this e-mail is strictly 
> prohibited and may be unlawful.
> 

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email







This e-mail and any files transmitted with it are for the sole use of
Blue Slate Solutions and the intended recipient(s) and may contain
confidential and privileged information. If you are not the intended
recipient, please contact the sender by reply e-mail and destroy all
copies of the original message. Any unauthorized review, use,
disclosure, dissemination, forwarding, printing or copying of this email
or any action taken in reliance on this e-mail is strictly prohibited
and may be unlawful.

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to