标签: wsdl

在Windows服务中托管的WCF服务(basicHttpBinding)的WSDL URL

我在我们的一台服务器上的Windows服务中托管WCF服务.在使用basicHttpBinding并在.NET中构建测试客户端(最终工作)后,我继续尝试使用SoapClient类从PHP访问它.最终的消费者将是一个PHP站点,所以我需要在PHP中使用它.

当我必须在PHP代码中的SoapClient类的构造函数中输入WSDL url时,我感到难过.WSDL在哪里?我只有:

http://172.27.7.123:8000/WordServicehttp://172.27.7.123:8000/WordService/mex

这些都不会暴露WSDL.

作为WCF的新手,我可能会问一个愚蠢的事情(或者我可能在某处有错误的假设).请温柔:D

不,http://172.27.7.123:8000/WordService?wsdl没有显示任何不同于http://172.27.7.123:8000/WordService :(

我被迫在IIS中托管它吗?我是否被迫使用常规WebService?

php url wcf wsdl basichttpbinding

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

Java工具创建的WSDL文件的WCF序列化问题

我的团队的任务是获得几个内部开发的.NET客户端应用程序,以连接到一些新的Java Web服务.Java Web服务是第三方,供应商提供的WSDL文件,我们的团队具有有限的修改/控制能力......这意味着我们可能有权要求我们的供应商对WSDL进行轻微调整,但可能会有重大改变要么不可行,要么难以提出要求.

也就是说,我们正在尝试利用WCF/.NET 4.0生成客户端所需的.NET代理类文件.代理客户端类文件生成过程执行没有问题.

问题是当我们尝试在客户端应用程序中使用代理类文件时.我已经通过Web跟踪工具Fiddler验证了原始SOAP消息请求无法通过线路发送到服务器.

尝试调用有问题的Web服务方法时,我得到的特定.NET异常消息如下所示:

System.InvalidOperationException未处理Message = XmlSerializer属性System.Xml.Serialization.XmlAttributeAttribute在baseLanguage中无效.当IsWrapped为true时,仅支持XmlElement,XmlArray,XmlArrayItem,XmlAnyAttribute和XmlAnyElement属性.来源= System.ServiceModel

当我检查.NET自动生成的代理类文件Reference.cs时,我注意到我的Web服务方法的请求和响应消息看起来像这样:

[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ServiceModel.MessageContractAttribute(WrapperName="QueryPBOT_MXWO_OS", WrapperNamespace="http://www.ibm.com/maximo", IsWrapped=true)]
public partial class QueryPBOT_MXWO_OSRequest {

    [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.ibm.com/maximo", Order=0)]
    public ConsoleApplication7.wsMaximo.PBOT_MXWO_OSQueryType PBOT_MXWO_OSQuery;

    [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.ibm.com/maximo", Order=1)]
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string baseLanguage;

    [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.ibm.com/maximo", Order=2)]
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string transLanguage;

    [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.ibm.com/maximo", Order=3)]
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string messageID;

    [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.ibm.com/maximo", Order=4)]
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string maximoVersion;

    [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.ibm.com/maximo", Order=5)]
    [System.Xml.Serialization.XmlAttributeAttribute()]
    [System.ComponentModel.DefaultValueAttribute(false)]
    public bool uniqueResult;

    [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.ibm.com/maximo", Order=6)]
    [System.Xml.Serialization.XmlAttributeAttribute(DataType="positiveInteger")]
    public string maxItems;

    [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.ibm.com/maximo", Order=7)]
    [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
    [System.ComponentModel.DefaultValueAttribute("0")]
    public string rsStart;

    public QueryPBOT_MXWO_OSRequest() {
    }

    public QueryPBOT_MXWO_OSRequest(ConsoleApplication7.wsMaximo.PBOT_MXWO_OSQueryType PBOT_MXWO_OSQuery, string …
Run Code Online (Sandbox Code Playgroud)

java wcf serialization interop wsdl

12
推荐指数
4
解决办法
8416
查看次数

ASP.NET Web API接口(WSDL)

我已经获得了一些有关ASP Web API的信息.它看起来像好东西的Web服务,但如何建立像WSDL对我的API像WCF服务呢?3d party组件如何使用我的服务?或者我需要手动描述我的每个方法?

.net wsdl asp.net-web-api

12
推荐指数
2
解决办法
3万
查看次数

使用SoapClient从PHP中获取WSDL元素

我想从<Version>嵌套在<service>WSDL块中的元素中获取文本.有问题的WSDL是Ebay的交易 api.有问题的片段看起来像这样:

<wsdl:service name="eBayAPIInterfaceService">
    <wsdl:documentation>
        <Version>941</Version>
    </wsdl:documentation>
    <wsdl:port binding="ns:eBayAPISoapBinding" name="eBayAPI">
        <wsdlsoap:address location="https://api.ebay.com/wsapi"/>
    </wsdl:port>
</wsdl:service>
Run Code Online (Sandbox Code Playgroud)

我现在正在这样做:

$xml = new DOMDocument();
$xml->load($this->wsdl);
$version = $xml->getElementsByTagName('Version')->item(0)->nodeValue;
Run Code Online (Sandbox Code Playgroud)

这有效,但我想知道是否有一种方法可以使用PHP的SOAP扩展本地获取它?

我在想以下内容会起作用,但事实并非如此:

$client = new SoapClient($this->wsdl);
$version = $client->eBayAPIInterfaceService->Version;
Run Code Online (Sandbox Code Playgroud)

php xml soap wsdl ebay-api

12
推荐指数
1
解决办法
2170
查看次数

WSDL生成工具

任何人都可以推荐一个好的(最好是开源的)工具来为一些soap web服务创建WSDL文件吗?

我已经尝试过使用一些可用的eclipse插件,并且对我发现的内容印象不深.

soap wsdl

11
推荐指数
2
解决办法
3万
查看次数

使单个WCF服务支持SOAP,REST和WSDL

我正在尝试在.NET 3.5中构建一个支持SOAP的C#服务 - 并显示WSDL和REST.

SOAP服务和WSDL生成很容易使用ServiceHostBasicHttpBinding类.得到了工作,客户很高兴.

由于SOAP调用所有使用的简单参数,因此客户端开发人员为某些命令请求了REST接口.所以我改变了的ServiceHost类的WebServiceHost,根据需要添加WebInvokeWebGet属性,增加了一个WebHttpBinding班,和宾果- REST和SOAP进行了两个工作了一个服务.很酷,改变一个界面,REST和SOAP都得到了新的东西.

但是有一个问题 - 不再生成WSDL.我无法浏览到http:// server/service?wsdl并获取WSDL文件.检查MSDN文档,这似乎是默认行为WebServiceHost.

问题:我可以覆盖此行为以便可以获取WSDL吗?没有与以前相同的URL - 它可以更改 - 但我只需要在服务中使用一些URL来为这些SOAP开发人员获取WSDL.

c# rest wcf soap wsdl

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

关于WSDL vs MEX的所有内容?

我无法打开元数据网址http://localhost:8082/Tasks/mex,即使我在配置文件中添加了mexHttpBinding.我可以在浏览器中查看此MEX端点吗?

配置文件如下所示:

<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
Run Code Online (Sandbox Code Playgroud)

问题:

  • MEX与WSDL不同吗?如果没有,那么为什么我们需要一个超过WSDL的MEX端点?
  • 在WSDL中,我看到缺少WSDL类型信息.这是默认的吗?我可以查看WSDL中的类型信息吗?

wcf wsdl

11
推荐指数
2
解决办法
9920
查看次数

使用WSDL的ruby中的SOAP服务器

我需要在ruby中为一次调用实现一个soap服务器,并提供一个WSDL.我的计划是自己创建WSDL,并在rails服务器上提供解析xml的端点.

这是一条有效的道路吗?我看起来并且找不到关于生成WSDL的ruby中的soap服务器的其他信息.Action Web Service确实在2005年更新,而soap4r独立服务器不生成WSDL.

ruby soap wsdl ruby-on-rails-3

11
推荐指数
2
解决办法
7285
查看次数

Java Web服务错误:com.ctc.wstx.exc.WstxEOFException:prolog中出现意外的EOF

我在创建Java客户端并将其连接到正在运行的Web Service时遇到问题.

我使用以下代码:

Service myService  = null;
URL wsdlLocation = new URL("http://myservice?wsdl");
QName serviceName = new QName(wsdlLocation, "MyService");
Service myService = new Service(wsdlLocation, serviceName);
Run Code Online (Sandbox Code Playgroud)

使用以下命令创建Service类的位置:

wsimport -d gen -keep http://myservice?wsdl
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用Apache cxf 2.4的wsdl2java生成的客户端,但得到了相同的结果.

(我已经在我使用原始代码的代码中更改了此帖子的WSDL位置和服务类名称.)

但是当我使用新的Service()命令创建服务时,我在appserver上调用Web Service时遇到异常.但是:我用SOAP UI测试了wsdl位置,它运行得很好.此外,我使用Soap UI创建了一个模拟服务,我的Java客户端可以连接到它,调用它并获得结果.当我想要调用在appserver上运行的Web服务时,会出现问题.

堆栈跟踪:

javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.
        at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:149)
        at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:98)
        at javax.xml.ws.Service.<init>(Service.java:76)
        at MyService.<init>(MyService.java:42)
        at mypackage.createService(AClass.java:288)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.
        at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:100)
        at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:199)
        at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:147)
        ... 12 more …
Run Code Online (Sandbox Code Playgroud)

java wsdl web-services jax-ws wsimport

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

代码生成过程中出现异常的WSDL:java.lang.NoClassDefFoundError:组织/阿帕奇/ WS /公/模式/ utils的/ NamespacePrefixList

我在eclipse中使用Tomcat 7服务器和Axis 2 1.7运行时.

我有一个在Axis 2中生成的WSDL文件.

因此,请使用Topdown方法生成Web服务类(骨架).我在服务器运行时选择了配置为Axis.当尝试单击完成时,它显示以下错误:" 在WSDL的代码生成期间发生异常:java.lang.NoClassDefFoundError:org/apache/ws/commons/schema/utils/NamespacePrefixList "

我认为这是一个罐子小姐,所以我首先包括XmlSchema-1.4.2.jar错误尚未解决.所以我删除了那个jar并尝试使用从java2s下载的最新jar(xmlschema-core-2.0.1.jar).我还有同样的问题.

请帮我解决这个问题.

尝试在eclipse中从WSDl创建客户端时,同样的问题也会持续存在.

请帮我用步骤来解决这个问题.谢谢

eclipse soap wsdl axis2 web-services

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