使用Java客户端使用WCF restful Web服务?

时间:2014-09-25 06:37:28

标签: java c# json web-services wcf

我正在尝试使用WCF& amp;编写一个用于Restful Web服务的Java客户端。 NTLM身份验证。

我可以使用Apache HTTPClient库来连接和检索数据。

以下代码为我提供了JSon文本表单中的响应。

DefaultHttpClient httpClient = new DefaultHttpClient();
httpClient.getCredentialsProvider().setCredentials(new AuthScope(hostName, 443),    new NTCredentials(userName, password, hostName, domainName));
httpclient.getAuthSchemes().register("ntlm", new NTLMSchemeFactory());
HttpConnectionParams.setConnectionTimeout(httpclient.getParams(), 150000);

HttpGet httpget = new HttpGet(url);
httpget.setHeader("Content-Type", "application/json");
HttpResponse response = httpclient.execute(httpget);
HttpEntity responseEntity = response.getEntity();
content = EntityUtils.toString(responseEntity);

现在我正在编写JSon解析器,将JSon文本转换为业务对象(手动创建的类)。

有没有人知道如何自动化业务对象类创建和自动响应解析器将Json文本转换为java对象,因为我们使用像Axis / CXF这样的框架来使用基于SOAP的Web服务?

1 个答案:

答案 0 :(得分:1)

有几种方法可以自动将JSON数据转换为Java对象。一些选项是:

  • Jackson - 注释Java类和字段以将它们链接到JSON模式。
  • Google GSON - 可以创建简单的toJson()和fromJson()方法将Java对象转换为JSON,反之亦然。在不修改源代码的情况下使用现有类。
  • JSON.org - 不直接将JSON映射到Java类,而是提供对JSONObject和JSONArray类的解析,以使其与JSON一起使用。

在这个问题中可以找到更多答案:How to parse JSON in Java

修改 以上所有内容都需要手动创建Java对象,然后将它们链接到JSON表示。如果您希望自动创建与C#对象相对应的Java对象,我不知道自动执行此操作的方法,但是,JSONSchema2POJO工具将从JSON示例生成Java POJO,因此这可能会为你节省一些时间。