Hi Freeman.

Thank you for your response. We used the cxfbc:provider like this :

<cxfbc:provider wsdl="https://spczapp00022:8080/messagebox?wsdl";
                locationURI="https://spczapp00022:8080/messagebox";
                endpoint="CustomBinding_IMessageBoxService"
                service="msgboxns:MessageBoxService"
                schemaValidationEnabled="false"
        useJBIWrapper="false"
        useSOAPEnvelope="false"
                mtomEnabled="true" />

We have camel router with this rule :

from("jbi:name:camelEndpoint")
                        .choice()
                                .when(header("operation").startsWith("set"))
                                        .to("activemq:queue:async-requests")

                                // Call MessageBox or CRM services
                                
.when(header("service").isEqualTo("MessageBoxService"))                        
.to("nmr:http://tempuri.org/}MessageBoxService:CustomBinding_IMessageBoxService";)

                                .when(header("service").isEqualTo("CRMService"))
                
.to("nmr:{http://tempuri.org/}MessageBoxService:CustomBinding_ICrmProfileService";)

It seems that the .Net endpoint is called but we got this exception (.net
wsdl contains policies) :


2012-02-14 16:51:59,003 | WARN  | rovider-thread-1 | WSS4JInInterceptor         
     
| ?                                   ? | 137 - org.apache.cxf.b
undle - 2.4.4 | Request does not contain Security header, but it's a fault.
2012-02-14 16:51:59,015 | WARN  | Service-thread-1 | NMR                        
     
| ?                                   ? | 166 - org.apache.servi
cemix.nmr.core - 1.5.0 | Error processing exchange [
  id:        41562491-53128-1329234681910-0-41
  mep:       InOut
  status:    Active
  role:      Consumer
  target:   
PropertyMatchingReference[{NAME={http://tempuri.org/}MessageBoxService:CustomBinding_IMessageBoxService}]
  operation: {http://tempuri.org/}GetCategoriesList
  properties: [
      javax.jbi.servicedesc.ServiceEndpoint =
org.apache.servicemix.jbi.runtime.impl.EndpointImpl@421309ec
      org.apache.servicemix.senderEndpoint =
{http://ws.service.esb.ing.emeldi.com/}MessageBoxService:MessageBoxImplPort
      CamelCreatedTimestamp = Tue Feb 14 16:51:58 CET 2012
      javax.jbi.messaging.MessageExchange =
org.apache.servicemix.jbi.runtime.impl.InOutImpl@67c9c73
      javax.jbi.messaging.sendSync = <null>
      JbiMessageExchange =
org.apache.servicemix.jbi.runtime.impl.InOutImpl@7efa302c
      CamelToEndpoint =
nmr://{http://tempuri.org/}MessageBoxService:CustomBinding_IMessageBoxService
      javax.jbi.transaction.jta = <null>
      javax.jbi.ServiceEndpoint =
org.apache.servicemix.jbi.runtime.impl.ServiceEndpointImpl@5f034558
      org.apache.servicemix.correlationId =
41562491-53128-1329234681910-0-39
  ]
]

java.lang.NullPointerException
        at
java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)[:1.6.0_30]
        at
java.util.concurrent.ConcurrentHashMap.putAll(ConcurrentHashMap.java:909)[:1.6.0_30]
        at
org.apache.servicemix.camel.nmr.ServiceMixProducer.handleSuccessResponse(ServiceMixProducer.java:134)[185:org.apache.servicemix.camel.compo
nent:4.4.0]
        at
org.apache.servicemix.camel.nmr.ServiceMixProducer.handleResponse(ServiceMixProducer.java:128)[185:org.apache.servicemix.camel.component:4.
4.0]
        at
org.apache.servicemix.camel.nmr.ServiceMixProducer.process(ServiceMixProducer.java:114)[185:org.apache.servicemix.camel.component:4.4.0]
        at
org.apache.servicemix.nmr.core.InternalEndpointWrapper.process(InternalEndpointWrapper.java:86)[166:org.apache.servicemix.nmr.core:1.5.0]
        at
org.apache.servicemix.nmr.core.ChannelImpl.process(ChannelImpl.java:271)[166:org.apache.servicemix.nmr.core:1.5.0]
        at
org.apache.servicemix.nmr.core.ChannelImpl$1.run(ChannelImpl.java:227)[166:org.apache.servicemix.nmr.core:1.5.0]
        at
org.apache.servicemix.executors.impl.ExecutorImpl$1.run(ExecutorImpl.java:64)[167:servicemix-utils:1.5.0]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_30]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_30]
        at java.lang.Thread.run(Thread.java:662)[:1.6.0_30]

I walked through the source code of ServiceMixProducer :
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/camel/servicemix-camel/src/main/java/org/apache/servicemix/camel/nmr/ServiceMixProducer.java?view=markup

and it seems that the continuation.exchange is null, but I don't know why.
Please can you give us any advice ? 
Thank you very much,
Mark.


--
View this message in context: 
http://servicemix.396122.n5.nabble.com/XOP-policy-within-http-soap-provider-tp5447119p5482906.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to