camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Yin (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CAMEL-9344) Certain SOAP messages cause NPE
Date Fri, 20 Nov 2015 17:28:10 GMT
John Yin created CAMEL-9344:
-------------------------------

             Summary: 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


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)

Mime
View raw message