【问题标题】:Web services cross-languages parameter typesWeb 服务跨语言参数类型
【发布时间】:2011-04-22 17:56:51
【问题描述】:

我正在创建一个网络服务。我想知道如何声明参数类型并使用它 因为Java类型是不同的,例如。日期。我已经编写了客户端来使用 Java 中的 Web 服务,它工作正常,但我想知道我是否可以使用用其他语言编写的客户端来使用相同的 Web 服务。我给你一个我的网络服务的代码示例:

import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
import javax.xml.ws.Endpoint;

@WebService
public class WiseQuoteServer {
    @SOAPBinding(style = Style.RPC)
    public String getQuote(String category) {
        if (category.equals("fun")) {
            return "5 is a sufficient approximation of infinity.";
        }
        if (category.equals("work")) {
            return "Remember to enjoy life, even during difficult situatons.";
        } else {
            return "Becoming a master is relatively easily. Do something well and then continue to do it for the next 20 years";
        }
    }

    public static void main(String[] args) {
        WiseQuoteServer server = new WiseQuoteServer();
        Endpoint endpoint = Endpoint.publish(
                "http://localhost:9191/wisequotes", server);
    }
}

【问题讨论】:

标签: java web-services arguments jax-ws


【解决方案1】:

Jigar 是正确的。 JAX-WS 使用 JAXB 将参数转换为 XML。 JAXB 具有大量注释,您可以使用它们来自定义如何将数据转换为 XML。由于数据以 XML 形式发送,因此几乎任何语言都可以读取/写入服务。此外,大多数语言都有某种可用的 SOAP 库。

【讨论】:

  • 先生,从 WSDl 示例中,我可以看到许多在此不存在的东西。我的意思是当我在上面运行程序并输入 firefox 地址时,我可以看到一个 wsdl 文件,但它也显示消息 此 XML 文件似乎没有任何与之关联的样式信息。文档树如下所示。 如何添加样式信息
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多