我有来自WebService的.wsdl和.xsd文件,需要通过它们生成代理.Svcutil.exe和wsdl.exe生成非常不同的输出.这两种代理生成工具有什么区别,哪种方式更可取?
我有一个名为abc.wsdl的wsdl
当我尝试通过此命令生成SEI接口java文件时
wsimport abc.wsdl
Run Code Online (Sandbox Code Playgroud)
它在包路径abcd中生成.class文件
但它没有生成任何.java文件.
你能告诉我为什么我无法生成.java文件吗?
实际上我是.wsdl文件的新手.
是否在.wsdl文件中的某处指定生成.class文件而不是.java文件?
和
我如何生成.java文件?
我正在使用JAX-WS来运行一些示例Web服务.发布Web服务后,当我输入WSDL URL时,我可以看到WSDL文档.WSDL文档引用的Schema文档如下所示:
<xs:schema version="1.0" targetNamespace="http://ts.ch01/">
<xs:element name="getTimeAsElapsed" type="tns:getTimeAsElapsed"/>
<xs:element name="getTimeAsElapsedResponse" type="tns:getTimeAsElapsedResponse"/>
<xs:element name="getTimeAsString" type="tns:getTimeAsString"/>
<xs:element name="getTimeAsStringResponse" type="tns:getTimeAsStringResponse"/>
?
<xs:complexType name="getTimeAsString">
<xs:sequence/>
</xs:complexType>
?
<xs:complexType name="getTimeAsStringResponse">
?
<xs:sequence>
<xs:element name="return" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
?
<xs:complexType name="getTimeAsElapsed">
<xs:sequence/>
</xs:complexType>
?
<xs:complexType name="getTimeAsElapsedResponse">
?
<xs:sequence>
<xs:element name="return" type="xs:long"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么'tns'出现在元素声明中?例如:
<xs:element name="getTimeAsElapsed" type="TNS:getTimeAsElapsed"/>
我没有在架构文档中看到'tns'被声明为名称空间前缀,架构文档只是以
<xs:schema version="1.0" targetNamespace="http://ts.ch01/">
Run Code Online (Sandbox Code Playgroud)
那么为什么'tns'在引用其他元素时出现?这是JAX-WS生成的XML模式的默认行为吗?
我想在现有的C/C++应用程序中托管Web服务.什么是最好的解决方案?
我想要一个类似于JAX-WS为Java做的解决方案.特别是围绕SOAP请求.
有可用解决方案的个人经验吗?
我是一名PHP程序员,我想使用WSDL创建一个SOAP Web服务.
请有人建议任何简单的教程或代码,使我能够在设备(iPhone,黑莓,Android)上制作对象.
我在Java项目中使用wsimport来生成三个SOAP Web服务的源代码.前两个工作正常:我使用JAX-WS Maven插件来获取WSDL文件并生成相应的Java源文件.
一个Web服务失败; 我收到以下错误:
[jaxws:wsimport]
Processing: /home/me/NetBeansProjects/Admin/AdminWeb/src/wsdl/erp-app-devel.srv.mycompany.ca/EgTestReportEngine/Service.asmx.wsdl
jaxws:wsimport args: [-s, /home/me/NetBeansProjects/Admin/AdminWeb/target/generated-sources/jaxws-wsimport, -d, /home/me/NetBeansProjects/Admin/AdminWeb/target/classes, -verbose, -catalog, /home/me/NetBeansProjects/Admin/AdminWeb/src/jax-ws-catalog.xml, -wsdllocation, http://erp-app-devel.srv.mycompany.ca/EgTestReportEngine/Service.asmx?WSDL, -target, 2.0, -extension, -Xnocompile, /home/me/NetBeansProjects/Admin/AdminWeb/src/wsdl/erp-app-devel.srv.mycompany.ca/EgTestReportEngine/Service.asmx.wsdl]
parsing WSDL...
src-resolve.4.2: Error resolving component 's:schema'. It was detected that 's:schema' is in namespace 'http://www.w3.org/2001/XMLSchema', but components from this namespace are not referenceable from schema document 'file:/home/me/NetBeansProjects/Admin/AdminWeb/src/wsdl/erp-app-devel.srv.mycompany.ca/EgTestReportEngine/Service.asmx.wsdl#types?schema1'. If this is the incorrect namespace, perhaps the prefix of 's:schema' needs to be changed. If this is the correct namespace, then an appropriate 'import' tag should …Run Code Online (Sandbox Code Playgroud) 我有一个旧的WSDL文件,我想使用WCF与服务进行通信.
WSDL是从ASMX生成的(我想但我不确定).
与它沟通所需的步骤是什么?
我必须连接到第三方Web服务,该服务不提供wsdl或asmx.该服务的URL只是http://server/service.soap
我已经阅读了有关原始服务调用的这篇文章,但我不确定这是否是我正在寻找的.
此外,我已经要求wsdl文件,但被告知没有(并且不会).
我正在使用带有.net 2.0的C#,并且无法升级到3.5(所以还没有WCF).我认为第三方正在使用java,因为这是他们提供的示例.
提前致谢!
更新浏览网址时获取此响应:
<SOAP-ENV:Envelope>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>
Cannot find a Body tag in the enveloppe
</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Run Code Online (Sandbox Code Playgroud) 基于W3的WSDL规范,可以将"wsdl:document"标记添加到WSDL输出中,以便使用该Web服务的人员可以更好地解释/记录此Web服务.
有没有人知道如何让WCF使用这些注释/描述,或者如何在C#中编写那些注释作为wsdl的一部分导出的代码?
谢谢,迈克尔
在我的wsdl中,我有一个元素:
<xsd:element minOccurs="0" name="birthDate" nillable="true" type="xsd:dateTime"/>
Run Code Online (Sandbox Code Playgroud)
我知道nillable true允许空值这是否意味着它可以允许xml空标记?即
<birthDate/>
Run Code Online (Sandbox Code Playgroud)