If you just want to send the soap envelop to the back end service, you just need to use the MESSAGE data format. If you don't want to use the WSDL, you can consider to use camel-http component instead of camel-cxf component.

Willem

On 8/16/11 10:43 AM, xiangqiuzhao wrote:
this is my wsdl generate the request in soap ui:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:iws="http://www.wstest.sunyard.com/IWSTestService/";>
    <soapenv:Header/>
    <soapenv:Body>
       <iws:getComplexObjectRequest>

          <iws:userNames>
             <iws:name>test</iws:name>
          </iws:userNames>
          <iws:userNames>
             <iws:name>test12</iws:name>
          </iws:userNames>
       </iws:getComplexObjectRequest>
    </soapenv:Body>
</soapenv:Envelope>

so i write my program like

         CamelContext context = new DefaultCamelContext();

         context.addRoutes(new RouteBuilder() {
             public void configure() throws Exception {
                 from("direct:test")
                 .process(new MyProcessor())

.to("cxf://http://localhost:8000/wstest/services/IWSTestService?wsdlURL=D:/IWSTestService.wsdl&dataFormat=PAYLOAD";);
             }
         });

         context.start();

         Endpoint endpoint = context.getEndpoint("direct:test");
         Exchange exchange = endpoint.createExchange();
         exchange.getIn().setHeader("operationName",
"getComplexObjectService");

         byte[] in = FileUtil.readAsByteArray(new File("d:/a.xml")); //a.xml
content as the soapui request
         exchange.getIn().setBody(new String(in));

         Producer producer = endpoint.createProducer();
         producer.process(exchange);

but it's error as "Cannot set right payload paremeters. Please check the
BindingOperation and PayLoadMessage"

--
View this message in context: 
http://camel.465427.n5.nabble.com/how-to-invoke-webservice-with-wsdl-or-not-in-camel-tp4700436p4703094.html
Sent from the Camel - Users mailing list archive at Nabble.com.



--
Willem
----------------------------------
FuseSource
Web: http://www.fusesource.com
Blog:    http://willemjiang.blogspot.com (English)
         http://jnn.javaeye.com (Chinese)
Twitter: willemjiang
Weibo: willemjiang

Reply via email to