Freeman, 

the following is incoming message which  i am printing out for debugging 

## Received exchange with status ACTIVE: InOut[
  id: ID:192.168.2.86-11ea5a60951-7:0
  status: Active
  role: provider
  service: {http://ekaplus.com/contract}createContractDataMapper
  endpoint: endpointDM
  in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper";
xmlns:msg="http://ekaplus.com/contract"; xmlns:xsd
="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
name="createContractRequest" type="msg:createContractRequest" version="1.0"
><jbi:part><com:Contract
xmlns:com="com.ekaplus.v7.cotton.physical.contract">
         <com:UserContext
xmlns:com="com.ekaplus.v7.cotton.physical.contract">
            <UserName xmlns="">?</UserName>
            <CoportateId xmlns="">?</CoportateId>
         </com:UserContext>
         <com:Header xmlns:com="com.ekaplus.v7.cotton.physical.contract">
            <ContractNo xmlns="">?</ContractNo>
            <Type xmlns="">?</Type>
         </com:Header>
         <com:Data xmlns:com="com.ekaplus.v7.cotton.physical.contract">
            <com:ContractDetails
xmlns:com="com.ekaplus.v7.cotton.physical.contract">
               <com:ContractIssueDate
xmlns:com="com.ekaplus.v7.cotton.physical.contract">?</com:ContractIssueDate>
               <com:BookId
xmlns:com="com.ekaplus.v7.cotton.physical.contract">?</com:BookId>
               <!--Optional:-->
               <com:TraderId
xmlns:com="com.ekaplus.v7.cotton.physical.contract">?</com:TraderId>
               <!--Optional:-->
               <com:OurPersonInChargeId
xmlns:com="com.ekaplus.v7.cotton.physical.contract">?</com:OurPersonInChargeId>
               <com:CPId xmlns:com="com.ekaplus.v...
]



and wsdl as follows 

<?xml version="1.0" encoding="UTF-8"?> 
<wsdl:definitions xmlns:eka="http://ekaplus.com/contract"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
name="contract"  targetNamespace="http://ekaplus.com/contract";
xmlns:xsd1="com.ekaplus.v7.cotton.physical.contract" 
xmlns:xsd2="http://www.ekaplus.com/integration/common/document/return";> 
<wsdl:types> 
<xsd:schema targetNamespace="http://ekaplus.com/contract";> 
<xsd:element name="createContract"> 
<xsd:complexType> 
<xsd:sequence> 
<xsd:element name="in" type="xsd:string"/> 
</xsd:sequence> 
</xsd:complexType> 
</xsd:element> 
<xsd:element name="createContractResponse"> 
<xsd:complexType> 
<xsd:sequence> 
<xsd:element name="out" type="xsd:string"/> 
</xsd:sequence> 
</xsd:complexType> 
</xsd:element> 
</xsd:schema> 
        <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";> 
        <xsd:import 
                       
namespace="http://www.ekaplus.com/integration/common/document/return"; 
                        schemaLocation="ReturnDocument.xsd"> 
                </xsd:import> 
                <xsd:import
namespace="com.ekaplus.v7.cotton.physical.contract" 
                        schemaLocation="contract.xsd"> 
                </xsd:import></xsd:schema></wsdl:types> 
<wsdl:message name="createContractRequest"> 
<wsdl:part element="xsd1:Contract" name="parameters"/> 
</wsdl:message> 
<wsdl:message name="createContractResponse"> 
<wsdl:part element="xsd2:ReturnDocument" name="parameters"/> 
</wsdl:message> 
<wsdl:portType name="contract"> 
<wsdl:operation name="createContract"> 
<wsdl:input message="eka:createContractRequest"/> 
<wsdl:output message="eka:createContractResponse"/> 
</wsdl:operation> 
</wsdl:portType> 
<wsdl:binding name="contractSOAP" type="eka:contract"> 
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/> 
<wsdl:operation name="createContract"> 
<soap:operation soapAction="http://ekaplus.com/contract/NewOperation"/> 
<wsdl:input> 
<soap:body use="literal"/> 
</wsdl:input> 
<wsdl:output> 
<soap:body use="literal"/> 
</wsdl:output> 
</wsdl:operation> 
</wsdl:binding> 
<wsdl:service name="createContractService"> 
<wsdl:port binding="eka:contractSOAP" name="createContractService"> 
<soap:address location="http://localhost:8092/ContractService"/> 
</wsdl:port> 
</wsdl:service> 
</wsdl:definitions>



thanks , 
Brijesh N K







Freeman Fang wrote:
> 
> Hi,
> 
> You need know what's the outgoing jbi message looks like based on your 
> wsdl and transform your message accordingly.
> In your work flow,  I believe you can see the incoming jbi message in 
> the log, would you please append it with your wsdl, so that I can tell 
> what's the outgoing message should be.
> 
> Freeman
> 
> 
> brijesh wrote:
>> Freeman, 
>>
>> I am getting the mapping data from a db,  eg: 
>> I have few elements in incoming xml <product_id> prod001</product_id>
>> which
>> I need to replace as 
>> <product_id>pr001</product_id> , and this mapping is done in a mapping
>> table. using servicemix-bean i am calling database and replacing the
>> element
>> data and passing it another servicemix-bean which calls an 
>> ejbs method. 
>> After replacing the xml elements I am sending the content to another bean
>> which is configured through EIP 
>> static-routing-slip, 
>>
>> code for setting content as follows 
>>
>>              InOut inOut = (InOut)exchange;      
>>      NormalizedMessage normalizedMessage = inOut.getInMessage();      
>>      //String outMessage = processXml(normalizedMessage);  //this method will
>> substitute element from database.  
>>      String outMessage ="<sample>this is sample xml</sample>";
>>      normalizedMessage.setContent(new StringSource(outMessage));      
>>      MessageUtil.transferInToOut(inOut, inOut);      
>>      channel.send(inOut);  
>>
>> Wondering how to i convert it into jbi message so that i will not get the
>> error as i mentioned before
>>
>>
>> thanks for the help 
>>
>> Brijesh 
>>
>>
>>
>> Freeman Fang wrote:
>>   
>>> Hi,
>>> If you just want to replace some content of the incoming message and 
>>> return, how about you use servicemix-camel instead of the
>>> servicemix-bean?
>>> There shouldn't be marshalling/unmarshalling for your case IMO, just 
>>> replace the message.
>>> You should know the format of  incoming and outgoing message.
>>>
>>> And yes, the servicemix-cxf-se will do the marshalling/unmarshalling  
>>> for you based on the wsdl model, but it's always used for real object 
>>> invocation, not suitable for your scenario.
>>>
>>> Freeman
>>>
>>> brijesh wrote:
>>>     
>>>> Freeman, 
>>>>
>>>> thanks for the response, 
>>>>
>>>> As i mentioned previous post, I am sending back the response from my
>>>> servicemix-bean class. Wondering how do I transform according to wsdl
>>>> model, 
>>>>
>>>> or should i use different jbi component instead of servicemix-bean  so
>>>> that
>>>> , i can convert easily???
>>>> I am using bean component to replace incoming data from database. for
>>>> marshalling/unmarshalling  am using xmlbean . 
>>>>
>>>> will it solves if use servicemix-cxf-se instead  servicemix-bean to do
>>>> the
>>>> transformation  according to the wsdl model??
>>>>
>>>> thanks 
>>>>
>>>> Brijesh N K
>>>>
>>>>
>>>>
>>>> Freeman Fang wrote:
>>>>   
>>>>       
>>>>> Hi,
>>>>> There is no simple way to do it, since the soap binding message or jbi 
>>>>> binding message are based on the wsdl, you need do the transform 
>>>>> according to the wsdl model.
>>>>> Freeman
>>>>>
>>>>> brijesh wrote:
>>>>>     
>>>>>         
>>>>>> Hi Freeman, 
>>>>>>
>>>>>> thanks for the response 
>>>>>>
>>>>>> i need to send a return message as "<sample>this is sample
>>>>>> xml</sample>"  
>>>>>> from servicemix-bean to client through servicemix-bc,
>>>>>>  
>>>>>> following is code snippet for this 
>>>>>>
>>>>>> .......................
>>>>>> InOut inOut = (InOut)exchange;      
>>>>>>                  NormalizedMessage normalizedMessage = 
>>>>>> inOut.getInMessage();      
>>>>>>                  //String outMessage = processXml(normalizedMessage);    
>>>>>>   
>>>>>>                   String outMessage ="<sample>this is sample 
>>>>>> xml</sample>";
>>>>>>                  normalizedMessage.setContent(new 
>>>>>> StringSource(outMessage));      
>>>>>>                  MessageUtil.transferInToOut(inOut, inOut);      
>>>>>>                  channel.send(inOut);  
>>>>>>
>>>>>> ..................
>>>>>>
>>>>>> is there any utility in MessageUtil to convert this plan xml content
>>>>>> to
>>>>>> soap
>>>>>> binding message or jbi binding message????
>>>>>>  
>>>>>>
>>>>>> regards
>>>>>>
>>>>>> Brijesh N K
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Freeman Fang wrote:
>>>>>>   
>>>>>>       
>>>>>>           
>>>>>>> Hi,
>>>>>>>
>>>>>>> Cxf bc expect soap binding message or jbi binding message, but the 
>>>>>>> message "<sample>this is sample xml</sample>" from your bean is
>>>>>>> invalid 
>>>>>>> for the cxf bc.
>>>>>>>
>>>>>>> Freeman
>>>>>>>
>>>>>>> brijesh wrote:
>>>>>>>     
>>>>>>>         
>>>>>>>             
>>>>>>>> hello, 
>>>>>>>>
>>>>>>>> I am calling servicemix-bean through cxf-bc, but i am getting soap
>>>>>>>> fault
>>>>>>>> as
>>>>>>>> follows 
>>>>>>>>
>>>>>>>> <soap:Envelope
>>>>>>>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
>>>>>>>>    <soap:Body>
>>>>>>>>       <soap:Fault>
>>>>>>>>          <faultcode>soap:Server</faultcode>
>>>>>>>>          <faultstring>Message wrapper element is '{}sample' but
>>>>>>>> expected
>>>>>>>> '{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}message'</faultstring>
>>>>>>>>       </soap:Fault>
>>>>>>>>    </soap:Body>
>>>>>>>> </soap:Envelope>
>>>>>>>>
>>>>>>>>
>>>>>>>> code for service-bean as follows 
>>>>>>>>
>>>>>>>> public class ContractSchemaDataMapper implements
>>>>>>>> MessageExchangeListener
>>>>>>>> {
>>>>>>>>
>>>>>>>>     @Resource
>>>>>>>>     private DeliveryChannel channel;
>>>>>>>>     private static final Log logger =
>>>>>>>> LogFactory.getLog(ContractSchemaDataMapper.class);
>>>>>>>>
>>>>>>>>     public void onMessageExchange(MessageExchange exchange) throws
>>>>>>>> MessagingException {
>>>>>>>>        
>>>>>>>>         if (exchange.getStatus() == ExchangeStatus.ACTIVE) {      
>>>>>>>>                logger.debug("## Received exchange with status ACTIVE: 
>>>>>>>> " +
>>>>>>>> exchange);  
>>>>>>>>                System.out.println("## Received exchange with status 
>>>>>>>> ACTIVE:
>>>>>>>> "
>>>>>>>> +
>>>>>>>> exchange);
>>>>>>>>                InOut inOut = (InOut)exchange;      
>>>>>>>>                NormalizedMessage normalizedMessage = 
>>>>>>>> inOut.getInMessage();      
>>>>>>>>                //String outMessage = processXml(normalizedMessage);    
>>>>>>>>   
>>>>>>>>                 String outMessage ="<sample>this is sample 
>>>>>>>> xml</sample>";
>>>>>>>>                normalizedMessage.setContent(new 
>>>>>>>> StringSource(outMessage));      
>>>>>>>>                MessageUtil.transferInToOut(inOut, inOut);      
>>>>>>>>                channel.send(inOut);  
>>>>>>>>        }  else{      
>>>>>>>>                logger.debug("## Received exchange but status not 
>>>>>>>> ACTIVE: " +
>>>>>>>> exchange);  
>>>>>>>>        }
>>>>>>>>     }
>>>>>>>>   }
>>>>>>>>
>>>>>>>> and the stack trace as follows 
>>>>>>>>
>>>>>>>> INFO: Interceptor has thrown exception, unwinding now
>>>>>>>> org.apache.cxf.interceptor.Fault: Message wrapper element is
>>>>>>>> '{}sample'
>>>>>>>> but
>>>>>>>> expected '{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}message'
>>>>>>>>         at
>>>>>>>> org.apache.servicemix.cxfbc.interceptors.JbiOutWsdl1Interceptor.handleMessage(JbiOutWsdl1Interceptor.java:103)
>>>>>>>>         at
>>>>>>>> org.apache.servicemix.cxfbc.interceptors.JbiOutWsdl1Interceptor.handleMessage(JbiOutWsdl1Interceptor.java:62)
>>>>>>>>         at
>>>>>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
>>>>>>>>         at
>>>>>>>> org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74)
>>>>>>>>         at
>>>>>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
>>>>>>>>         at
>>>>>>>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
>>>>>>>>         at
>>>>>>>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:278)
>>>>>>>>         at
>>>>>>>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:252)
>>>>>>>>         at
>>>>>>>> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>>>>>>>>         at
>>>>>>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:757)
>>>>>>>>         at
>>>>>>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>>>>>>>>         at
>>>>>>>> org.mortbay.jetty.handler.HandlerList.handle(HandlerList.java:49)
>>>>>>>>         at
>>>>>>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>>>>>>>         at org.mortbay.jetty.Server.handle(Server.java:324)
>>>>>>>>         at
>>>>>>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
>>>>>>>>         at
>>>>>>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:840)
>>>>>>>>         at
>>>>>>>> org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:657)
>>>>>>>>         at
>>>>>>>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>>>>>>>>         at
>>>>>>>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:377)
>>>>>>>>         at
>>>>>>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>>>>>>>         at
>>>>>>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:497)
>>>>>>>> Caused by: java.lang.Exception: Message wrapper element is
>>>>>>>> '{}sample'
>>>>>>>> but
>>>>>>>> expected '{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}message'
>>>>>>>>         ... 21 more
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Any idea on this , 
>>>>>>>>
>>>>>>>> regards
>>>>>>>>
>>>>>>>> Brijesh N K
>>>>>>>>
>>>>>>>>   
>>>>>>>>       
>>>>>>>>           
>>>>>>>>               
>>>>>>>     
>>>>>>>         
>>>>>>>             
>>>>>>   
>>>>>>       
>>>>>>           
>>>>>     
>>>>>         
>>>>   
>>>>       
>>>
>>>     
>>
>>   
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/expected-%27%7Bhttp%3A--java.sun.com-xml-ns-jbi-wsdl-11-wrapper%7Dmessage-tp21276728p21286620.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to