标签: wsdl

如何在给定SOAP WSDL操作的情况下创建WSDL文件

我没有任何与Web服务相关的开发经验.所以,任何想法将不胜感激.

假设,我有一个文件列出了WSDL操作的草案规范.以下是一个例子.我将如何创建WSDL文件.记事本是否足够,还是需要WSDL编辑器?

getHostSystemInfo
Run Code Online (Sandbox Code Playgroud)

返回有关通过给定ID指定的主机系统的详细信息.

  • 输入HostSystemIdCollection(字符串集合)
  • 输出HostSystemInfoCollection
    • HostSystemInfo
      • Id:强制性
      • 属性:应为主机系统提供以下属性
        • HostSystemName
        • HostSystemProperty1
        • HostSystemProperty2
        • HostSystemProperty3 ....

java service soap wsdl

5
推荐指数
1
解决办法
1万
查看次数

WSDLException:尝试解析引用的模式时发生错误

我正在尝试使用eclipse Galileo和Windows xp上的轴2 1.4从本地WSDL文件生成代理类.我的问题是由于WSDL中导入的模式而导致错误.困扰我的那条线是:

<xsd:import namespace="http://www.w3.org/2005/05/xmlmime" schemaLocation="http://www.w3.org/2005/05/xmlmime"/>
Run Code Online (Sandbox Code Playgroud)

我试过运行wsdl2java以下命令:

wsdl2java.bat  -uri SOAService.wsdl -o D:\temp p test -d xmlbeans -a -s -ns2p -uw
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException
: Error parsing WSDL
        at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerat
ionEngine.java:156)
        at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
        at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)
Caused by: javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:ty
pes/xsd:schema): faultCode=OTHER_ERROR: An error occurred trying to resolve sche
ma referenced at 'http://www.w3.org/2005/05/xmlmime', relative to 'file:/D:/Prog
rammi/axis2-1.4/bin/SOAService.wsdl'.: java.net.ConnectException: Connection tim
ed out: connect
        at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source)
        at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source)
        at com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(Unknown Source)
        at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source)
        at …
Run Code Online (Sandbox Code Playgroud)

eclipse axis wsdl axis2 wsdl2java

5
推荐指数
1
解决办法
1万
查看次数

为什么ASP.NET尝试为Web服务引用生成临时类?

在Visual Studio 2008中,我有一个类库项目(称为Media),我向第三方Web服务(wsdl)添加了Web引用(而不是服务引用).在类库项目中,创建了一个代理类,用于使用该服务以及该服务中使用的类型的几个类.

我还有第二个类库(称为同步),引用第一个.然后我有一个引用第二类库的Web站点项目.所有这些都是.NET 3.5

所以网站>类库(同步)>类库与Web服务引用(媒体)

我想进入生成的代码,因此我在IIS 7.5中启动网站并触发对第二类库(Sync)中的方法的调用,而该方法又应该调用Web服务代理.我完全期待达到断点,但却得到了一个例外:

无法生成临时类(result = 1).错误CS0029:无法将Media.WebService.multiValuedAttribute类型隐式转换为Media.WebService.multiValuedAttribute []

为什么ASP.NET试图生成临时类?我是否已经从第一个类库(媒体)中获得了生成的类?它试图产生什么样的课程?

谢谢!

asp.net wsdl web-services .net-3.5

5
推荐指数
1
解决办法
725
查看次数

F#WSDL代码生成

我正在使用带有F#的VS.NET 2010集成shell,我正在尝试使用soap Web服务......如何生成F#源代码?我试过了

wsdl l:"C:\ Program Files(x86)\ FSharpPowerPack-2.0.0.0\bin\FSharp.Compiler.CodeDom.dll" http:// localhost /?wsdl

随着

wsdl /language:"Microsoft.FSharp.Compiler.CodeDom.FSharpCodeProvider,Microsoft.FSharp.Compiler.CodeDom,Version = 1.9.2.9,Culture = neutral,PublicKeyToken = a19089b1c74d0809"

但是我似乎无法让/ language开关工作.

编辑:

taspeotis的回答让我走了......这为Web服务生成了F#源:

gacutil -i "C:\Program Files (x86)\FSharpPowerPack-2.0.0.0\bin\FSharp.PowerPack.dll"
svcutil /language:"Microsoft.FSharp.Compiler.CodeDom.FSharpCodeProvider, FSharp.Compiler.CodeDom, Version=2.0.0.0, Culture=neutral, PublicKeyToken=a19089b1c74d0809" http://localhost/?wsdl
Run Code Online (Sandbox Code Playgroud)

wcf f# soap wsdl

5
推荐指数
1
解决办法
1154
查看次数

从WSDL生成代码会导致异常

我正在使用Axis2 1.5.1(wsdl2java)从给定的WSDL文件生成代码(客户端存根).
Web服务由外部应用程序提供.

<?xml version="1.0" encoding="utf-8"?>  
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"  
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility- 1.0.xsd"  
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"   
xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"             
xmlns:tns="http://tempuri.org/"   
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"     
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" 
xmlns:i0="http://schemas.microsoft.com/ws/2005/02/mex/bindings" 
xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"  
xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" 
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" 
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"   
xmlns:wsa10="http://www.w3.org/2005/08/addressing"   
xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"   
name="service" targetNamespace="http://tempuri.org/"   
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">  
<wsdl:types>  
<xsd:schema targetNamespace="http://tempuri.org/Imports">  
<xsd:include schemaLocation="SampleApp.App.ApplicationManager.RemoteApplication0.xsd" />  
<xsd:include schemaLocation="SampleApp.App.ApplicationManager.RemoteApplication1.xsd" />  
<xsd:include schemaLocation="SampleApp.App.ApplicationManager.RemoteApplication2.xsd" />  
<xsd:include schemaLocation="SampleApp.App.ApplicationManager.RemoteApplication3.xsd" />  
</xsd:schema>  
</wsdl:types>  
...  
</wsdl:definition>  
Run Code Online (Sandbox Code Playgroud)

RemoteApplication0.xsd的内容如下:

<?xml version="1.0" encoding="utf-8"?>  
<xs:schema xmlns:tns="http://schemas.microsoft.com/Message" 
elementFormDefault="qualified"  
targetNamespace="http://schemas.microsoft.com/Message"  
xmlns:xs="http://www.w3.org/2001/XMLSchema">  
<xs:complexType name="MessageBody">  
<xs:sequence>  
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" />  
</xs:sequence>  
</xs:complexType>  
</xs:schema>  
Run Code Online (Sandbox Code Playgroud)

命令行:

wsdl2java -ss -g -d adb -or -p com.sampleapp.ws.generated.client -uri SampleRemoteProcess.wsdl  
Run Code Online (Sandbox Code Playgroud)

生成过程会导致异常.
堆栈跟踪:

Using AXIS2_HOME: …
Run Code Online (Sandbox Code Playgroud)

java wsdl axis2 code-generation wsdl2java

5
推荐指数
1
解决办法
1万
查看次数

PHP并没有Soap动作标题

我正试图在我的公司内拨打远程网络服务.出于专有原因,我无法提供Web服务的URL.Web服务有一个名为getItemField的函数.这是一个小型测试服务,我正在尝试运行PHP,服务描述如下:

<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://www.oracle.com/ws/MyFirstWebService" xmlns:intf="http://www.oracle.com/ws/MyFirstWebService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://www.w3.org/1999/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.oracle.com/ws/MyFirstWebService">
<!--
WSDL created by Apache Axis version: 1.2alpha Built on Oct 23, 2007 (12:09:54 IST)
-->
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.oracle.com/ws/MyFirstWebService">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="ArrayOf_xsd_string">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
</restriction>
</complexContent>
</complexType>
</schema>
</wsdl:types>
<message name="getItemFieldRequest">
<part name="args" type="impl:ArrayOf_xsd_string"/>
</message>
<message name="getItemFieldResponse">
<part name="getItemFieldReturn" type="soapenc:string"/>
</message>
<portType name="MyFirstWebService">
<operation name="getItemField" parameterOrder="args">
<input message="impl:getItemFieldRequest" name="getItemFieldRequest"/>
<output message="impl:getItemFieldResponse" name="getItemFieldResponse"/>
</operation>
</portType>
<binding name="MyFirstWebServiceSoapBinding" type="impl:MyFirstWebService">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getItemField"> …
Run Code Online (Sandbox Code Playgroud)

php wsdl web-services

5
推荐指数
1
解决办法
1万
查看次数

通用肥皂客户端工具

我已经创建了一个肥皂服务,我想测试.但我不想创建一个肥皂客户端来测试它.我正在寻找一些工具,它可以解析wsdl并给出可以输入的参数列表,然后给出肥皂的响应服务.

我知道肥皂熊猫,但它不起作用,说无效的网址,因为我的肥皂服务网址中有一个连字符.

SoapUi的尺寸非常大.我想要一个我可以轻松下载的小工具

soapclient是一个Web工具,但它已关闭.

请建议一些替代工具

soap wsdl web-services soapui soap-client

5
推荐指数
1
解决办法
2837
查看次数

使用稍微复杂的方法引用WCF服务时获取"递归收集数据协定"

如果我在WCF服务中只使用简单的方法,一切正常.但是,如果我包含以下方法,则会出现问题:

[OperationContract]
public List<KeyValuePair<string, string>> GetAllAccounts()
{
    return AccountBusiness.GetAllAccounts();
}
Run Code Online (Sandbox Code Playgroud)

从其他项目引用服务时出现此错误:

警告5自定义工具警告:无法导入wsdl:portType详细信息:运行WSDL导入扩展时抛出异常:System.ServiceModel.Description.DataContractSerializerMessageContractImporter错误:类型'Newtonsoft.Json.Linq.JToken'是一个递归收集数据合同,不受支持.考虑修改集合'Newtonsoft.Json.Linq.JToken'的定义以删除对它自己的引用.XPath到错误源:// wsdl:definitions [@ targetNamespace =' http://tempuri.org']/wsdl:portType [@ name ='NodeService'] C:\ inetpub\wwwroot\MyclientProject\Service References\NodeService\Reference.svcmap 1 1 MyClientNode

如果我删除上面的方法,重新编译并更新引用,那么它工作正常.但是当我添加上述方法时,我始终会收到此警告.

我发现的一个建议是卸载Visual Studio 2012并修复Visual Studio 2010.我不想这样做.

另一个建议取消选中"在所有引用的程序集中重用类型",但这会弄乱方法签名并且不可用.

.net wcf wsdl exception-handling

5
推荐指数
1
解决办法
1万
查看次数

遇到delphi WSDL导入器问题

我正在导入第三方提供的WSDL.但是我没有成功使用delphi WSDL导入器.当我导入WSDL时,delphi WSDL导入器隐藏了WSDL文件中的类的实现.WSDL文件包含一些接受对象作为参数的函数.导入WSDL之后delphi会出现错误,因为某些变量是未声明的,它们实际上是类的对象,其定义由WSDL导入器隐藏.

delphi wsdl soap-client

5
推荐指数
1
解决办法
1950
查看次数

是否可以使用Spring-WS从WSDL文件创建WS-client?(似乎没有)

我想知道是否可以使用Spring Web Services从WSDL文件创建Web服务客户端.

我的意思是从WSDL开始,我暂时没有任何XSD.

但我已经阅读了Josh Long的"Spring Recipes A Problem-Solution Approach",Hamidreza Sattari的"Spring Web Services 2 Cookbook"和教程本身(6.在客户端使用Spring Web Services),并没有提及此功能.

我还读过其他帖子,比如Webservice-Client:Spring WS,JAXB和一个WSDL文件的常用方法?来自WSDL的Spring-ws客户端(此处为stackoverflow)但没有任何进一步的结果.

我甚至在Spring论坛上提出了这个问题,但是在超过60次读取之后没有回复:是否可以使用SWS从WSDL文件创建WS-client?(似乎没有)

也许这是不可能的.

谢谢.

java spring wsdl spring-ws

5
推荐指数
1
解决办法
1万
查看次数