You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2016/01/31 11:14:40 UTC

[jira] [Updated] (CAMEL-9344) Certain SOAP messages cause NPE

     [ https://issues.apache.org/jira/browse/CAMEL-9344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen updated CAMEL-9344:
-------------------------------
    Fix Version/s:     (was: 2.16.2)
                   2.16.3

> Certain SOAP messages cause NPE
> -------------------------------
>
>                 Key: CAMEL-9344
>                 URL: https://issues.apache.org/jira/browse/CAMEL-9344
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-cxf
>    Affects Versions: 2.16.0
>         Environment: with any version of CXF (tested with 3.1.3).  On Windows 8.1 or Windows 10
>            Reporter: John Yin
>             Fix For: 2.16.3, 2.17.0
>
>         Attachments: TestCxfWs - Copy.zip
>
>
> The error is listed below along with a setup (camel, cxf, wsdl, maven pom) that can reproduce the issue.  This ONLY affects 2.16.0 (not 2.15.x).
> org.apache.camel.InvalidPayloadException: No body available of type: java.lang.String but has value: org.apache.camel.component.cxf.CxfPayload@2ff1ea33 of type: org.apache.camel.component.cxf.CxfPayload on: Message: org.apache.camel.component.cxf.CxfPayload@2ff1ea33. Caused by: Error during type conversion from type: java.lang.String to the required type: java.lang.String with value org.apache.camel.component.cxf.CxfPayload@2ff1ea33 due java.lang.IllegalStateException: StAXSource(XMLStreamReader) with XMLStreamReadernot in XMLStreamConstants.START_DOCUMENT or XMLStreamConstants.START_ELEMENT state. Exchange[ID-John-PCI-55819-1447771175585-0-2][Message: org.apache.camel.component.cxf.CxfPayload@2ff1ea33]. Caused by: [org.apache.camel.TypeConversionException - Error during type conversion from type: java.lang.String to the required type: java.lang.String with value org.apache.camel.component.cxf.CxfPayload@2ff1ea33 due java.lang.IllegalStateException: StAXSource(XMLStreamReader) with XMLStreamReadernot in XMLStreamConstants.START_DOCUMENT or XMLStreamConstants.START_ELEMENT state]
>                     at org.apache.camel.impl.MessageSupport.getMandatoryBody(MessageSupport.java:101)
>                     at org.apache.camel.processor.ConvertBodyProcessor.process(ConvertBodyProcessor.java:91)
>                     at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
>                     at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:163)
>                     at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:460)
>                     at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)
>                     at org.apache.camel.processor.Pipeline.process(Pipeline.java:121)
>                     at org.apache.camel.processor.Pipeline.process(Pipeline.java:83)
>                     at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)
>                     at org.apache.camel.component.cxf.CxfConsumer$1.asyncInvoke(CxfConsumer.java:95)
>                     at org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:75)
>                     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
>                     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>                     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>                     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$2.run(ServiceInvokerInterceptor.java:126)
>                     at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
>                     at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:131)
>                     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
>                     at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>                     at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:251)
>                     at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:234)
>                     at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>                     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1129)
>                     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1065)
>                     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>                     at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
>                     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
>                     at org.eclipse.jetty.server.Server.handle(Server.java:499)
>                     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
>                     at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
>                     at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
>                     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
>                     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
>                     at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.camel.TypeConversionException: Error during type conversion from type: java.lang.String to the required type: java.lang.String with value org.apache.camel.component.cxf.CxfPayload@2ff1ea33 due java.lang.IllegalStateException: StAXSource(XMLStreamReader) with XMLStreamReadernot in XMLStreamConstants.START_DOCUMENT or XMLStreamConstants.START_ELEMENT state
>                     at org.apache.camel.impl.converter.BaseTypeConverterRegistry.createTypeConversionException(BaseTypeConverterRegistry.java:610)
>                     at org.apache.camel.impl.converter.BaseTypeConverterRegistry.mandatoryConvertTo(BaseTypeConverterRegistry.java:177)
>                     at org.apache.camel.impl.MessageSupport.getMandatoryBody(MessageSupport.java:99)
>                     ... 33 more
> Caused by: org.apache.camel.RuntimeCamelException: java.lang.IllegalStateException: StAXSource(XMLStreamReader) with XMLStreamReadernot in XMLStreamConstants.START_DOCUMENT or XMLStreamConstants.START_ELEMENT state
>                     at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1642)
>                     at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:1247)
>                     at org.apache.camel.impl.converter.StaticMethodFallbackTypeConverter.convertTo(StaticMethodFallbackTypeConverter.java:62)
>                     at org.apache.camel.impl.converter.BaseTypeConverterRegistry.doConvertTo(BaseTypeConverterRegistry.java:333)
>                     at org.apache.camel.impl.converter.BaseTypeConverterRegistry.mandatoryConvertTo(BaseTypeConverterRegistry.java:168)
>                     ... 34 more
> Caused by: java.lang.IllegalStateException: StAXSource(XMLStreamReader) with XMLStreamReadernot in XMLStreamConstants.START_DOCUMENT or XMLStreamConstants.START_ELEMENT state
>                     at javax.xml.transform.stax.StAXSource.<init>(StAXSource.java:155)
>                     at org.apache.camel.component.cxf.converter.CxfPayloadConverter.convertTo(CxfPayloadConverter.java:209)
>                     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>                     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>                     at java.lang.reflect.Method.invoke(Method.java:497)
>                     at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:1243)
>                     ... 37 more
> [              qtp1541232265-21] PhaseInterceptorChain          WARN  Application {urn:pci:OneWayService:v1}PciOneWayService#{urn:pci:OneWayService:v1}GetMessage has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: No body available of type: java.lang.String but has value: org.apache.camel.component.cxf.CxfPayload@2ff1ea33 of type: org.apache.camel.component.cxf.CxfPayload on: Message: org.apache.camel.component.cxf.CxfPayload@2ff1ea33. Caused by: Error during type conversion from type: java.lang.String to the required type: java.lang.String with value org.apache.camel.component.cxf.CxfPayload@2ff1ea33 due java.lang.IllegalStateException: StAXSource(XMLStreamReader) with XMLStreamReadernot in XMLStreamConstants.START_DOCUMENT or XMLStreamConstants.START_ELEMENT state. Exchange[ID-John-PCI-55819-1447771175585-0-2][Message: org.apache.camel.component.cxf.CxfPayload@2ff1ea33]. Caused by: [org.apache.camel.TypeConversionException - Error during type conversion from type: java.lang.String to the required type: java.lang.String with value org.apache.camel.component.cxf.CxfPayload@2ff1ea33 due java.lang.IllegalStateException: StAXSource(XMLStreamReader) with XMLStreamReadernot in XMLStreamConstants.START_DOCUMENT or XMLStreamConstants.START_ELEMENT state]
>                     at org.apache.camel.component.cxf.CxfConsumer$1.checkFailure(CxfConsumer.java:235)
>                     at org.apache.camel.component.cxf.CxfConsumer$1.setResponseBack(CxfConsumer.java:209)
>                     at org.apache.camel.component.cxf.CxfConsumer$1.asyncInvoke(CxfConsumer.java:110)
>                     at org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:75)
>                     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
>                     at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96)
>                     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
>                     at org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:278)
>                     at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
>                     at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:251)
>                     at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:234)
>                     at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>                     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1129)
>                     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1065)
>                     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>                     at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:189)
>                     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
>                     at org.eclipse.jetty.server.Server.handleAsync(Server.java:549)
>                     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317)
>                     at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
>                     at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
>                     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
>                     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
>                     at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.camel.InvalidPayloadException: No body available of type: java.lang.String but has value: org.apache.camel.component.cxf.CxfPayload@2ff1ea33 of type: org.apache.camel.component.cxf.CxfPayload on: Message: org.apache.camel.component.cxf.CxfPayload@2ff1ea33. Caused by: Error during type conversion from type: java.lang.String to the required type: java.lang.String with value org.apache.camel.component.cxf.CxfPayload@2ff1ea33 due java.lang.IllegalStateException: StAXSource(XMLStreamReader) with XMLStreamReadernot in XMLStreamConstants.START_DOCUMENT or XMLStreamConstants.START_ELEMENT state. Exchange[ID-John-PCI-55819-1447771175585-0-2][Message: org.apache.camel.component.cxf.CxfPayload@2ff1ea33]. Caused by: [org.apache.camel.TypeConversionException - Error during type conversion from type: java.lang.String to the required type: java.lang.String with value org.apache.camel.component.cxf.CxfPayload@2ff1ea33 due java.lang.IllegalStateException: StAXSource(XMLStreamReader) with XMLStreamReadernot in XMLStreamConstants.START_DOCUMENT or XMLStreamConstants.START_ELEMENT state]
>                     at org.apache.camel.impl.MessageSupport.getMandatoryBody(MessageSupport.java:101)
>                     at org.apache.camel.processor.ConvertBodyProcessor.process(ConvertBodyProcessor.java:91)
>                     at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
>                     at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:163)
>                     at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:460)
>                     at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)
>                     at org.apache.camel.processor.Pipeline.process(Pipeline.java:121)
>                     at org.apache.camel.processor.Pipeline.process(Pipeline.java:83)
>                     at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)
>                     at org.apache.camel.component.cxf.CxfConsumer$1.asyncInvoke(CxfConsumer.java:95)
>                     at org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:75)
>                     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
>                     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>                     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>                     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$2.run(ServiceInvokerInterceptor.java:126)
>                     at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
>                     at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:131)
>                     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
>                     at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>                     at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:251)
>                     at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:234)
>                     at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>                     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1129)
>                     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1065)
>                     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>                     at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
>                     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
>                     at org.eclipse.jetty.server.Server.handle(Server.java:499)
>                     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
>                     ... 5 more
> Caused by: org.apache.camel.TypeConversionException: Error during type conversion from type: java.lang.String to the required type: java.lang.String with value org.apache.camel.component.cxf.CxfPayload@2ff1ea33 due java.lang.IllegalStateException: StAXSource(XMLStreamReader) with XMLStreamReadernot in XMLStreamConstants.START_DOCUMENT or XMLStreamConstants.START_ELEMENT state
>                     at org.apache.camel.impl.converter.BaseTypeConverterRegistry.createTypeConversionException(BaseTypeConverterRegistry.java:610)
>                     at org.apache.camel.impl.converter.BaseTypeConverterRegistry.mandatoryConvertTo(BaseTypeConverterRegistry.java:177)
>                     at org.apache.camel.impl.MessageSupport.getMandatoryBody(MessageSupport.java:99)
>                     ... 33 more
> Caused by: org.apache.camel.RuntimeCamelException: java.lang.IllegalStateException: StAXSource(XMLStreamReader) with XMLStreamReadernot in XMLStreamConstants.START_DOCUMENT or XMLStreamConstants.START_ELEMENT state
>                     at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1642)
>                     at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:1247)
>                     at org.apache.camel.impl.converter.StaticMethodFallbackTypeConverter.convertTo(StaticMethodFallbackTypeConverter.java:62)
>                     at org.apache.camel.impl.converter.BaseTypeConverterRegistry.doConvertTo(BaseTypeConverterRegistry.java:333)
>                     at org.apache.camel.impl.converter.BaseTypeConverterRegistry.mandatoryConvertTo(BaseTypeConverterRegistry.java:168)
>                     ... 34 more
> Caused by: java.lang.IllegalStateException: StAXSource(XMLStreamReader) with XMLStreamReadernot in XMLStreamConstants.START_DOCUMENT or XMLStreamConstants.START_ELEMENT state
>                     at javax.xml.transform.stax.StAXSource.<init>(StAXSource.java:155)
>                     at org.apache.camel.component.cxf.converter.CxfPayloadConverter.convertTo(CxfPayloadConverter.java:209)
>                     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>                     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>                     at java.lang.reflect.Method.invoke(Method.java:497)
>                     at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:1243)
>                     ... 37 more
> Camel config:
> <beans xmlns="http://www.springframework.org/schema/beans"
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>        xsi:schemaLocation="
>        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
>        http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
>   <import resource="classpath:META-INF/spring/camel-cxf.xml" />
>   <camelContext xmlns="http://camel.apache.org/schema/spring" trace="true">
>     <!-- here is a sample which processes the input files
>          (leaving them in place - see the 'noop' flag)
>          then performs content based routing on the message using XPath -->
>     <route>
>       <from uri="cxf:bean:oneWayTtEndpoint"/>
>       <log message="request received"/>
>       <convertBodyTo type="java.lang.String"/>
>     </route>
>   </camelContext>
> </beans>
> CXF config:
> <beans xmlns="http://www.springframework.org/schema/beans"
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>        xmlns:http="http://cxf.apache.org/transports/http/configuration"
>        xmlns:cxf="http://camel.apache.org/schema/cxf"
>        xsi:schemaLocation="
>        http://www.springframework.org/schema/beans
>        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
>        http://cxf.apache.org/transports/http/configuration
>        http://cxf.apache.org/schemas/configuration/http-conf.xsd
>        http://camel.apache.org/schema/cxf
>          http://camel.apache.org/schema/cxf/camel-cxf.xsd
>        ">
>     <import resource="classpath:META-INF/cxf/cxf.xml" />
>     <cxf:cxfEndpoint id="oneWayTtEndpoint"
>                      address="http://0.0.0.0:9003/test"
>                      serviceName="ns1:PciOneWayService" endpointName="ns1:PciOneWayService"
>                      xmlns:ns1="urn:pci:OneWayService:v1">
>         <cxf:properties>
>             <entry key="dataFormat" value="PAYLOAD" />
>             <entry key="schema-validation-enabled" value="false" />
>             <entry key="exceptionMessageCauseEnabled" value="false" />
>             <entry key="faultStackTraceEnabled" value="false" />
>             <entry key="wsdlURL" value="wsdl/oneway/MessageServiceV1.wsdl" />
>             <entry key="loggingFeatureEnabled" value="true" />
>         </cxf:properties>
>     </cxf:cxfEndpoint>
> </beans>
> WSDL: 
> <?xml version="1.0" encoding="utf-8"?>
> <wsdl:definitions
>    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>    xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
>    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>    xmlns:tns="urn:pci:OneWayService:v1"
>    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
>    targetNamespace="urn:pci:OneWayService:v1">
>    <wsdl:types>
>       <xsd:schema elementFormDefault="qualified" targetNamespace="urn:pci:OneWayService:v1">
>          <xsd:element name="Context">
>             <xsd:complexType>
>                <xsd:sequence>
>                   <xsd:element name="TransactionId" type="xsd:string" minOccurs="0" />
>                   <xsd:element name="TransactionType" type="tns:transactionTypeType" />
>                   <xsd:element name="RefTransactionId" type="xsd:string" minOccurs="0" />
>                   <xsd:element name="SourceAccountId" type="xsd:string" minOccurs="0"/>
>                   <xsd:element name="DestinationAccountId" type="xsd:string" minOccurs="0"/>
>                </xsd:sequence>
>             </xsd:complexType>
>          </xsd:element>
>          <xsd:element name="Data">
>             <xsd:complexType>
>                <xsd:sequence>
>                   <xsd:element name="Record" maxOccurs="unbounded">
>                      <xsd:complexType>
>                         <xsd:sequence>
>                            <xsd:element name="Item" maxOccurs="unbounded">
>                               <xsd:complexType>
>                                  <xsd:simpleContent>
>                                     <xsd:extension base="xsd:string">
>                                        <xsd:attribute name="name" use="required"/>
>                                        <xsd:attribute name="type" use="optional"/>
>                                     </xsd:extension>
>                                  </xsd:simpleContent>
>                               </xsd:complexType>
>                            </xsd:element>
>                         </xsd:sequence>
>                         <xsd:attribute name="name" use="optional"/>
>                         <xsd:attribute name="id" use="optional"/>
>                      </xsd:complexType>
>                   </xsd:element>
>                </xsd:sequence>
>             </xsd:complexType>
>          </xsd:element>
>          <xsd:simpleType name="returnEnum">
>             <xsd:restriction base="xsd:string">
>                <xsd:enumeration value="Ok"/>
>                <xsd:enumeration value="Error"/>
>                <xsd:enumeration value="More"/>
>                <xsd:enumeration value="None"/>
>             </xsd:restriction>
>          </xsd:simpleType>
>          <xsd:simpleType name="transactionTypeType">
>             <xsd:restriction base="xsd:string">
>                <xsd:minLength value="1"/>
>             </xsd:restriction>
>          </xsd:simpleType>
>          <!-- Operations -->
>          <xsd:element name="SubmitMessage">
>             <xsd:complexType>
>                <xsd:sequence>
>                   <xsd:element ref="tns:Context"/>
>                   <xsd:element ref="tns:Data"/>
>                </xsd:sequence>
>             </xsd:complexType>
>          </xsd:element>
>          <xsd:element name="SubmitMessageResponse">
>             <xsd:complexType>
>                <xsd:sequence>
>                   <xsd:element name="ReturnCode" type="tns:returnEnum"/>
>                   <xsd:element name="ReturnMessage" type="xsd:string" minOccurs="0"/>
>                </xsd:sequence>
>             </xsd:complexType>
>          </xsd:element>
>          <xsd:element name="GetMessage">
>             <xsd:complexType>
>                <xsd:sequence>
>                   <xsd:element name="Remove" type="xsd:boolean" minOccurs="0"/>
>                </xsd:sequence>
>             </xsd:complexType>
>          </xsd:element>
>          <xsd:element name="GetMessageResponse">
>             <xsd:complexType>
>                <xsd:sequence>
>                   <xsd:element name="ReturnCode" type="tns:returnEnum"/>
>                   <xsd:element name="ReturnMessage" type="xsd:string" minOccurs="0"/>
>                   <xsd:element name="AckId" type="xsd:string" minOccurs="0" />
>                   <xsd:element ref="tns:Context" minOccurs="0"/>
>                   <xsd:element ref="tns:Data" minOccurs="0"/>
>                </xsd:sequence>
>             </xsd:complexType>
>          </xsd:element>
>          <xsd:element name="AcknowledgeMessage">
>             <xsd:complexType>
>                <xsd:sequence>
>                   <xsd:element name="AckId" type="xsd:string" />
>                </xsd:sequence>
>             </xsd:complexType>
>          </xsd:element>
>          <xsd:element name="AcknowledgeMessageResponse">
>             <xsd:complexType>
>                <xsd:sequence>
>                   <xsd:element name="ReturnCode" type="tns:returnEnum"/>
>                   <xsd:element name="ReturnMessage" type="xsd:string" minOccurs="0"/>
>                </xsd:sequence>
>             </xsd:complexType>
>          </xsd:element>
>       </xsd:schema>
>    </wsdl:types>
>    <wsdl:message name="SubmitMessageSoapIn">
>       <wsdl:part name="parameters" element="tns:SubmitMessage" />
>    </wsdl:message>
>    <wsdl:message name="SubmitMessageSoapOut">
>       <wsdl:part name="parameters" element="tns:SubmitMessageResponse" />
>    </wsdl:message>
>    <wsdl:message name="GetMessageSoapIn">
>       <wsdl:part name="parameters" element="tns:GetMessage" />
>    </wsdl:message>
>    <wsdl:message name="GetMessageSoapOut">
>       <wsdl:part name="parameters" element="tns:GetMessageResponse" />
>    </wsdl:message>
>    <wsdl:message name="AcknowledgeMessageSoapIn">
>       <wsdl:part name="parameters" element="tns:AcknowledgeMessage" />
>    </wsdl:message>
>    <wsdl:message name="AcknowledgeMessageSoapOut">
>       <wsdl:part name="parameters" element="tns:AcknowledgeMessageResponse" />
>    </wsdl:message>
>    <wsdl:portType name="OneWayServiceSoap">
>       <wsdl:operation name="SubmitMessage">
>          <wsdl:input message="tns:SubmitMessageSoapIn" />
>          <wsdl:output message="tns:SubmitMessageSoapOut" />
>       </wsdl:operation>
>       <wsdl:operation name="GetMessage">
>          <wsdl:input message="tns:GetMessageSoapIn" />
>          <wsdl:output message="tns:GetMessageSoapOut" />
>       </wsdl:operation>
>       <wsdl:operation name="AcknowledgeMessage">
>          <wsdl:input message="tns:AcknowledgeMessageSoapIn" />
>          <wsdl:output message="tns:AcknowledgeMessageSoapOut" />
>       </wsdl:operation>
>    </wsdl:portType>
>    <wsdl:binding name="OneWayServiceBinding" type="tns:OneWayServiceSoap">
>       <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
>       <wsdl:operation name="SubmitMessage">
>          <soap:operation soapAction="urn:pci:OneWayService:v1/SubmitMessage" />
>          <wsdl:input>
>             <soap:body use="literal" />
>          </wsdl:input>
>          <wsdl:output>
>             <soap:body use="literal" />
>          </wsdl:output>
>       </wsdl:operation>
>       <wsdl:operation name="GetMessage">
>          <soap:operation soapAction="urn:pci:OneWayService:v1/GetMessage" />
>          <wsdl:input>
>             <soap:body use="literal" />
>          </wsdl:input>
>          <wsdl:output>
>             <soap:body use="literal" />
>          </wsdl:output>
>       </wsdl:operation>
>       <wsdl:operation name="AcknowledgeMessage">
>          <soap:operation soapAction="urn:pci:OneWayService:v1/AcknowledgeMessage" />
>          <wsdl:input>
>             <soap:body use="literal" />
>          </wsdl:input>
>          <wsdl:output>
>             <soap:body use="literal" />
>          </wsdl:output>
>       </wsdl:operation>
>    </wsdl:binding>
>    <wsdl:service name="PciOneWayService">
>       <wsdl:port name="PciOneWayService" binding="tns:OneWayServiceBinding">
>          <soap:address location="http://localhost:9003/test/MessageServiceV1" />
>       </wsdl:port>
>    </wsdl:service>
> </wsdl:definitions>
>  
> Maven POM:
>  
> <?xml version="1.0" encoding="UTF-8"?>
> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
>   <modelVersion>4.0.0</modelVersion>
>   <groupId>com.pci</groupId>
>   <artifactId>TestCxfWs</artifactId>
>   <packaging>jar</packaging>
>   <version>1.0-SNAPSHOT</version>
>   <name>A Camel Spring Route</name>
>   <url>http://www.myorganization.org</url>
>   <properties>
>     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
>     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
>   </properties>
>   <dependencies>
>     <dependency>
>       <groupId>org.apache.cxf</groupId>
>       <artifactId>cxf-rt-transports-http-jetty</artifactId>
>       <version>3.1.3</version>
>     </dependency>
>     <dependency>
>       <groupId>org.apache.cxf</groupId>
>       <artifactId>cxf-rt-ws-security</artifactId>
>       <version>3.1.3</version>
>     </dependency>
>     <dependency>
>       <groupId>org.apache.camel</groupId>
>       <artifactId>camel-core</artifactId>
>       <version>2.16.0</version>
>     </dependency>
>     <dependency>
>       <groupId>org.apache.camel</groupId>
>       <artifactId>camel-spring</artifactId>
>       <version>2.16.0</version>
>     </dependency>
>     <dependency>
>       <groupId>org.apache.camel</groupId>
>       <artifactId>camel-cxf</artifactId>
>       <version>2.16.0</version>
>     </dependency>
>     <!-- logging -->
>     <dependency>
>       <groupId>org.slf4j</groupId>
>       <artifactId>slf4j-api</artifactId>
>       <version>1.7.12</version>
>     </dependency>
>     <dependency>
>       <groupId>org.slf4j</groupId>
>       <artifactId>slf4j-log4j12</artifactId>
>       <version>1.7.12</version>
>     </dependency>
>     <dependency>
>       <groupId>log4j</groupId>
>       <artifactId>log4j</artifactId>
>       <version>1.2.17</version>
>     </dependency>
>     <!-- testing -->
>     <dependency>
>       <groupId>org.apache.camel</groupId>
>       <artifactId>camel-test-spring</artifactId>
>       <version>2.16.0</version>
>       <scope>test</scope>
>     </dependency>
>   </dependencies>
>   <build>
>     <defaultGoal>install</defaultGoal>
>     <plugins>
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-compiler-plugin</artifactId>
>         <version>3.3</version>
>         <configuration>
>           <source>1.7</source>
>           <target>1.7</target>
>         </configuration>
>       </plugin>
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-resources-plugin</artifactId>
>         <version>2.6</version>
>         <configuration>
>           <encoding>UTF-8</encoding>
>         </configuration>
>       </plugin>
>       <!-- allows the route to be ran via 'mvn camel:run' -->
>       <plugin>
>         <groupId>org.apache.camel</groupId>
>         <artifactId>camel-maven-plugin</artifactId>
>         <version>2.16.0</version>
>       </plugin>
>     </plugins>
>   </build>
> </project>



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)