我在构建基于cxf / camel的自己的web服务时遇到问题。
我的网络服务应该做这样的事情:
我在 DomainA 上,我将POST数据发送到我的网络服务(CXF)
我的CXF代码是:
@Path("/")
@ProduceMime({ "application/json" })
public class SSO {
@POST
@Path("/user")
@ProduceMime({ "application/json" })
public String user(@FormParam("id") String token) {
}
}
我的CXF代码会收到 id 变量。
现在我想将此变量发送到其他网址 http:// localhost:8080 / myWebSite 并等待来自网址的响应,并在获得响应后将其发送到 DomainA
my beans.xml是:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:osgi="http://www.springframework.org/schema/osgi"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/osgi/cxf-extension-osgi.xml" />
<bean id="cxfSSO" class="com.esb.cxf.SSO" />
<jaxrs:server id="sso" address="/sso">
<jaxrs:serviceBeans>
<ref bean="cxfSSO" />
</jaxrs:serviceBeans>
</jaxrs:server>
</beans>
答案 0 :(得分:0)
最简单的方法是成为一个Spring RestTemplate
,因为这隐藏了你必须处理的大量复杂性。
Spring documentation介绍了基本知识,但请注意,您需要将请求构建为MultiValueMap<String, String>
,以便将其作为application/x-www-form-urlencoded
发送到服务。