.net WSDL优先:CXF代码生成展开/裸
我有点困惑,我相信我可能缺少一些配置,或者可能应该尝试CXF以外的其他配置 在Java中使用CXF时,我必须使用所有这些Holder对象,而使用.Net的人根本不需要使用Holder 我认为生成WSDL对每个人都有相同的结果,因为生成的代码相当于WSDL签名 更具体的示例(注释已删除): 在.net中,他们看到.net WSDL优先:CXF代码生成展开/裸,.net,web-services,cxf,.net,Web Services,Cxf,我有点困惑,我相信我可能缺少一些配置,或者可能应该尝试CXF以外的其他配置 在Java中使用CXF时,我必须使用所有这些Holder对象,而使用.Net的人根本不需要使用Holder 我认为生成WSDL对每个人都有相同的结果,因为生成的代码相当于WSDL签名 更具体的示例(注释已删除): 在.net中,他们看到 public loginResponse loginRequest(loginRequest loginRequest1) { } 我在CXF上看到了 public void logi
public loginResponse loginRequest(loginRequest loginRequest1) { }
我在CXF上看到了
public void loginRequest(
java.lang.String language,
java.lang.String application,
java.lang.Boolean userid,
javax.xml.ws.Holder<java.lang.String> session,
javax.xml.ws.Holder<java.lang.String> userinfo);
公共无效登录请求(
java.lang.String语言,
java.lang.String应用程序,
java.lang.Boolean用户标识,
javax.xml.ws.Holder会话,
javax.xml.ws.Holder用户信息);
这是在visual studio中内部解决的,还是我在CXF中遗漏了什么?这是根据JAX-WS规范制定的。每种语言或规范都规定了如何将WSDL映射到其特定语言。在CXF的情况下,JAX-WS规范规定方法要么是“裸”(类似于“LogginResponse logingRequest(LoginRequest In)”或者完全展开,其中响应对象也被展开映射到参数上,这就是您要得到的。没有.NET所做的半展开的事情可以展开参数,而不是响应
您可以通过向wsdl2java命令行传递-bareMethods参数来使用bare模式(假设是最新版本的CXF)你能发布生成代码片段的wsdl吗?另外,我更新了.net示例,因为你说没有半解包方法是正确的。我之前遇到的问题是示例版本是2.2.3,直到我找到你自己的JIRA票证才知道有2.4.2。谢谢。