2015-11-26 48 views
0

我有3方web服務,我想調用並將xml放入它。我使用apache駱駝。調用restful webservice,並希望使用Apache Camel作爲字符串發送XML

  1. 這就是我希望把在web服務的XML:

<parameter> 
    <name>LastModified</name> 
    <value>2015-11-24 11:15:38.0</value> 
</parameter> 
<parameter> 
    <name>UpdatedAttribute</name> 
    <value>PORT2PROVISIONSTATUS</value> 
</parameter> 
<parameter> 
    <name>NewValue</name> 
    <value>Configured</value> 
</parameter> 
<parameter> 
    <name>EntityType</name> 
    <value>Pluggable</value> 
</parameter> </parameterSet> 
  • 端點是 http://localhost:8080/RestfulWebService/crunchify/dspservice

  • 這是我無法改變

    客戶實現:

    @Path("{event}")  
    @GET  
    @Produces("application/json") 
    public String getICLEvent(@PathParam("event") String event) 
    {  
    System.out.println("ICL Event :: "+ event);   
    String result = "@Produces(\"application/xml\") Output: \n\nICL Event: \n\n" + event;  
    return result; 
    }
  • 我迄今爲止嘗試:

    我用駱駝HTTP組件在我的路線,如:

    .convertBodyTo(String.class, "UTF-8") 
              .setHeader(Exchange.HTTP_URI, simple("http://localhost:8080/RestfulWebService/crunchify/dspservice/${in.body}")) 
              .setHeader(Exchange.HTTP_METHOD, constant("GET")) 
              //.setHeader(Exchange.HTTP_QUERY, constant("event=${in.body}")) 
              //.setHeader(Exchange.CONTENT_TYPE, constant("application/form-urlencoded")) 
              .to("http://localhost:8080/RestfulWebService/crunchify/dspservice") 
    

    其中我試圖通過標題鍵'CamelHttpUri'中的完整字符串,但我得到了java.net.URISyntaxException:異常。

    我不確定這是調用/生成restful webservice的最佳方式,請提出更好的方法,我已找到通過互聯網找到任何東西的難辦法。

    +0

    在REST的製造呼叫與HTTP POST方法完成或PUT。可能是這個問題。 –

    回答

    0

    爲什麼不使用Camel Restlet呢? http://camel.apache.org/restlet.html 這裏的一個例子:

    .convertBodyTo(String.class, "UTF-8") 
    .to("restlet:http://localhost:" + portNum + "/?restletMethod=GET"); 
    
    相關問題