You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Jeisson Fabian Perez Rodriguez <je...@gmail.com> on 2018/06/12 23:07:58 UTC
Error with consuming and exposing soap service with camel and
sprint-boot
Hello,
Im trying to consume a SOAP WS and exposing it as soap too, using xml camel context file, so I defined the “cxf:cxfEndpoint” that would be the front end service exposed, and defined into the “camelcontext” tag an endpoint “callRealWebService” that contains the url of the SOAP WS.
Finally, I defined a route that uses “from" as the cxfendpoint and “to” the endpoint.
The problem is that when I deploy locally the project, cannot get the wsdl of my service so I don’t know if my config of camelcontext.xml is correct or the sprintboot.
These are my files:
camel_context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:camel="http://camel.apache.org/schema/spring"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:cxf="http://camel.apache.org/schema/cxf"
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://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd">
<cxf:cxfEndpoint
address=“/documento"
endpointName="s:DocumentoPort" id="servicioSS"
serviceName="s:Documento" wsdlURL="etc/dc_ws.wsdl" xmlns:s="urn:document">
<cxf:properties>
<entry key="dataFormat" value="MESSAGE"/>
</cxf:properties>
</cxf:cxfEndpoint>
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<endpoint id="callRealWebService" uri="http://hostname/se/ws/dc_ws.php"/>
<route id="_route1">
<!-- CXF consumer using MESSAGE format -->
<!-- log input received -->
<!-- enrich the input by ensure the incidentId parameter is set
<to uri="bean:enrichBean"/> -->
<!-- Need to remove the http headers which could confuse the http endpoint -->
<!-- send proxied request to real web service -->
<from id="_from1" uri="cxf:bean:servicioSS"/>
<!-- log answer from real web service -->
<!-- removeHeaders id="_removeHeaders1" pattern="CamelHttp*"/> -->
<to id="_to1" uri="log:input"/>
<to id="_to2" ref="callRealWebService"/>
<to id="_to3" uri="log:output"/>
</route>
</camelContext>
</beans>
Application.java
@SpringBootApplication
@ImportResource({"classpath:spring/camel-context.xml"})
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
I don’t define any configuration into the application.yml, I reviewed in other forums that have to define the cxf.path but it is necessary?
could you please help me.
Thanks.
Re: Error with consuming and exposing soap service with camel and
sprint-boot
Posted by Jeisson Fabian Perez Rodriguez <je...@gmail.com>.
Hello,
Any suggestion about it? please?
Thank you.
> On Jun 12, 2018, at 6:07 PM, Jeisson Fabian Perez Rodriguez <je...@gmail.com> wrote:
>
> Hello,
>
> Im trying to consume a SOAP WS and exposing it as soap too, using xml camel context file, so I defined the “cxf:cxfEndpoint” that would be the front end service exposed, and defined into the “camelcontext” tag an endpoint “callRealWebService” that contains the url of the SOAP WS.
>
> Finally, I defined a route that uses “from" as the cxfendpoint and “to” the endpoint.
>
> The problem is that when I deploy locally the project, cannot get the wsdl of my service so I don’t know if my config of camelcontext.xml is correct or the sprintboot.
>
> These are my files:
>
> camel_context.xml
>
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans <http://www.springframework.org/schema/beans>"
> xmlns:camel="http://camel.apache.org/schema/spring <http://camel.apache.org/schema/spring>"
> xmlns:context="http://www.springframework.org/schema/context <http://www.springframework.org/schema/context>"
> xmlns:cxf="http://camel.apache.org/schema/cxf <http://camel.apache.org/schema/cxf>"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance <http://www.w3.org/2001/XMLSchema-instance>" xsi:schemaLocation=" http://www.springframework.org/schema/beans <http://www.springframework.org/schema/beans> http://www.springframework.org/schema/beans/spring-beans.xsd <http://www.springframework.org/schema/beans/spring-beans.xsd> http://www.springframework.org/schema/context <http://www.springframework.org/schema/context> http://www.springframework.org/schema/context/spring-context.xsd <http://www.springframework.org/schema/context/spring-context.xsd> http://camel.apache.org/schema/spring <http://camel.apache.org/schema/spring> http://camel.apache.org/schema/spring/camel-spring.xsd http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd">
>
>
> <cxf:cxfEndpoint
> address=“/documento"
> endpointName="s:DocumentoPort" id="servicioSS"
> serviceName="s:Documento" wsdlURL="etc/dc_ws.wsdl" xmlns:s="urn:document">
> <cxf:properties>
> <entry key="dataFormat" value="MESSAGE"/>
> </cxf:properties>
> </cxf:cxfEndpoint>
> <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring <http://camel.apache.org/schema/spring>">
> <endpoint id="callRealWebService" uri="http://hostname/se/ws/dc_ws.php <http://hostname/se/ws/dc_ws.php>"/>
> <route id="_route1">
> <!-- CXF consumer using MESSAGE format -->
> <!-- log input received -->
> <!-- enrich the input by ensure the incidentId parameter is set
> <to uri="bean:enrichBean"/> -->
> <!-- Need to remove the http headers which could confuse the http endpoint -->
> <!-- send proxied request to real web service -->
> <from id="_from1" uri="cxf:bean:servicioSS"/>
> <!-- log answer from real web service -->
> <!-- removeHeaders id="_removeHeaders1" pattern="CamelHttp*"/> -->
> <to id="_to1" uri="log:input"/>
> <to id="_to2" ref="callRealWebService"/>
> <to id="_to3" uri="log:output"/>
> </route>
> </camelContext>
> </beans>
>
> Application.java
>
> @SpringBootApplication
> @ImportResource({"classpath:spring/camel-context.xml"})
> public class Application extends SpringBootServletInitializer {
>
> public static void main(String[] args) {
> SpringApplication.run(Application.class, args);
> }
> }
>
> I don’t define any configuration into the application.yml, I reviewed in other forums that have to define the cxf.path but it is necessary?
>
> could you please help me.
>
> Thanks.