[ 
https://issues.apache.org/jira/browse/CXF-1252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12548340
 ] 

Daniel Kulp commented on CXF-1252:
----------------------------------


This is not going to be an easy thing to "fix"/"change".

When you provide a wsdlLocation (like you do), we use the wsdl to validate that 
everthing makes sense.  In your case, your serviceName = "ProviderService", 
portName = "ProviderPort"  in that wsdl points to a SOAP binding, not HTTP 
binding.   I'd be tempted, in this case, to throw an error as the wsdl 
specifically says this is an SOAP endpoint.

My next inclination was to change those annotation values to point to stuff not 
in the wsdl in hopes that the runtime would just create a service/port for it.  
 That didn't work either.   "Could not find definition for service....."

This is definitely going to require quite a bit of thought to figure out how to 
handle it.   That said, I definitely thing the test is bogus.   If the wsdl 
says it's soap, it should be soap heading in.



> Provider PAYLOAD endpoint expects SOAP Envelope
> -----------------------------------------------
>
>                 Key: CXF-1252
>                 URL: https://issues.apache.org/jira/browse/CXF-1252
>             Project: CXF
>          Issue Type: Sub-task
>    Affects Versions: 2.0.3
>            Reporter: Thomas Diesler
>
> /home/tdiesler/svn/jbossws/stack/cxf/trunk
> [EMAIL PROTECTED] trunk]$ ant 
> -Dtest=org.jboss.test.ws.jaxws.samples.httpbinding.HttpJAXBTestCase one-test
> one-test:
>     [junit] Running 
> org.jboss.test.ws.jaxws.samples.httpbinding.HttpJAXBTestCase
>     [junit] Tests run: 2, Failures: 0, Errors: 1, Time elapsed: 6.475 sec
>     [junit] Test org.jboss.test.ws.jaxws.samples.httpbinding.HttpJAXBTestCase 
> FAILED
> The endpoint is a Provider with ServiceMode == PAYLOAD
> @WebServiceProvider(serviceName = "ProviderService", portName = 
> "ProviderPort", targetNamespace = "http://org.jboss.ws/provider";, 
> wsdlLocation = "WEB-INF/wsdl/Provider.wsdl")
> @ServiceMode(value = Service.Mode.PAYLOAD)
> public class ProviderBeanJAXB implements Provider<Source>
> {
>    public Source invoke(Source request)
>    {
>        ...
>    }
> }
> The incomming message is 
> POST /jaxws-samples-httpbinding-jaxb/ProviderEndpoint HTTP/1.1
> Content-Type: text/xml
> Accept: *
> Cache-Control: no-cache
> Pragma: no-cache
> User-Agent: Java/1.5.0_12
> Host: localhost:8080
> Connection: keep-alive
> Transfer-Encoding: chunked
> <?xml version="1.0" encoding="UTF-8"?><ns2:user 
> xmlns:ns2="http://org.jboss.ws/httpbinding";><string>Kermit</string><qname>TheFrog</qname></ns2:user>
> The endpoint throws
> Caused by: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to create 
> envelope from given source because the root element is not named "Envelope"
>         at 
> com.sun.xml.messaging.saaj.soap.SOAPPartImpl.lookForEnvelope(SOAPPartImpl.java:151)
>         at 
> com.sun.xml.messaging.saaj.soap.SOAPPartImpl.getEnvelope(SOAPPartImpl.java:118)
>         at 
> com.sun.xml.messaging.saaj.soap.EnvelopeFactory.createEnvelope(EnvelopeFactory.java:104)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to