标签: wsdl

W3和xmlsoap.org架构之间有什么区别?

在eclipse中创建wsdl文件时,它将名称空间设置为:

xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
Run Code Online (Sandbox Code Playgroud)

为什么它使用schemas.xmlsoap.org而不是相关的w3模式?

xml soap wsdl web-services

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

从WSDL生成服务合同

我有一个WSDL,我需要生成一个ServiceContract(OperationContract,DataContract)...

我找到了一种方法为ASMX WebServices做到这一点,但似乎无法在WCF中找到如何做到这一点.

我试过跑步

svcutil AuthPartnerWSDL.wsdl  /i /messagecontract /tcv:version35
Run Code Online (Sandbox Code Playgroud)

但是生成的接口不会反序列化进入的调用,因此服务实现的所有请求参数都是 null

.net wcf wsdl contract-first wscf

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

如何在Delphi中导入wsdl文件?

我有一个Web服务,外包公司将使用我的服务.我不想打开我的互联网服务.我想只向外包公司提供wsdl文件.他们使用Delphi.这是否可以在Delphi中导入wsdl文件?

delphi wsdl

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

如何测试wsdl webservice?

我是webservices的新手(特别是使用SOAP/WSDL)现在,.WSDL我已经完全自动生成了服务器的根目录.

如何在没有错误的情况下测试我的web服务是否正常运行(回显正确的结果)? *如何与.wsdl文件进行交互?*

问候.

php api soap wsdl

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

CXF JAXB JAXBEncoderDecoder解组错误:具有限定元素时的意外元素

我有以下问题,无法找到解决方案:
WSDL elementFormDefault="qualified"在我的CXF客户端收到的响应中,所有元素都以命名空间为前缀但JAXB抛出异常

org.apache.cxf.interceptor.Fault: Unmarshalling Error: unexpected element (uri:"unm:ENTSCWS", local:"searchReturn"). Expected elements are 
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:661)
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:533)
    at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128) ...

如果我更改了WSDL elementFormDefault="unqualified"它正在工作,但我不允许更改WSDL,它应该具有前缀为命名空间的元素.

package-info.java包含annotaction:

@javax.xml.bind.annotation.XmlSchema(namespace = "unm:ENTSCWS", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package entscws;
Run Code Online (Sandbox Code Playgroud)

响应类包含注释:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "searchReturn"
})
@XmlRootElement(name = "searchResponse")
public class SearchResponse {
Run Code Online (Sandbox Code Playgroud)

你知道为什么我会收到这个错误吗?

wsdl web-services cxf jaxb

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

WSO2更改了wsdl文件

我的服务是从wsdl文件中选取的.但是发布的服务已经变得很糟糕.如果我想将wso2发布为我的wsdl文件.怎么设置?例如,我的wsdl文件是:

<wsdl:service name="CoshipServiceImplService">
    <wsdl:port binding="tns:CoshipServiceImplServiceSoapBinding" name="CoshipServiceImplPort">
    <soap:address location="http://X.X.X.X:7843/sysway-boss-service/cxf/CoshipService" />
    </wsdl:port>
</wsdl:service>
Run Code Online (Sandbox Code Playgroud)

和WSO2发表如下:

<wsdl:portType name="CoshipServiceImplServicePortType"></wsdl:portType>
<wsdl:binding name="CoshipServiceImplServiceSoap11Binding" type="tns:CoshipServiceImplServicePortType">
</wsdl:binding><wsdl:binding name="CoshipServiceImplServiceSoap12Binding" type="tns:CoshipServiceImplServicePortType"></wsdl:binding>
<wsdl:binding name="CoshipServiceImplServiceHttpBinding" type="tns:CoshipServiceImplServicePortType"></wsdl:binding>
<wsdl:service name="CoshipServiceImplService"></wsdl:service>

It changed my port form "CoshipServiceImplPort" to "CoshipServiceImplServicePortType".
Run Code Online (Sandbox Code Playgroud)

wsdl wso2

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

WCF:带有导入问题的SvcUtil.exe

我们项目的要求之一如下:

我们只从客户端WSDL和XSD文件获得.我们的任务是基于这些WSDL和XSD文件生成SOAP消息并提取SOAP主体.

我们应该采取的第一步是从给定的WSDL和XSD文件生成客户端代理文件.主WSDL文件有多个导入,导入的XSD文件也有一些导入.我试图通过使用SvcUtil.exe实用程序来完成客户端代理文件生成,但错误出现了.

我用这种方式运行SvcUtil.exe:

E:\ Projekti\WCF\XSD> svcutil/noconfig rosrazna.ru.xsd.SmevUnifoService.wsdl roskazna.ru.xsd.ResponseTemplate.xsd roskazna.ru.xsd.PGU_ImportRequest.xsd roskazna.ru.xsd.PGU_DataRequest.xsd roskazna. ru.xsd.PGU_ChargesResponse.xsd roskazna.ru.xsd.ExportPaymentsResponse.xsd roskazna.ru.xsd.ExportIncomesResponse.xsd roskazna.ru.xsd.ExportQuittanceResponse.xsd roskazna.ru.xsd.Ticket.xsd

但是,出现了这个错误:

Microsoft(R)服务模型元数据工具[Microsoft(R)Windows(R)Communication Foundation,版本3.0.4506.2152]版权所有(c)Microsoft Corporation.版权所有.

生成文件...警告:未生成任何代码.如果您尝试生成客户端,这可能是因为元数据文档不包含任何有效的合同或服务,或者因为发现所有合同/服务都存在于/ reference assemblies中.验证是否已将所有元数据文档传递给该工具.

警告:如果要从模式生成数据协定,请确保使用/ dataContractOnly选项.

我不得不提到我没有在SvcUtil.exe命令中从主WSDL文件中导入的XSD文件中导入.我不知道怎么把它们.

那么,如何解决这个问题呢?

先感谢您.

戈兰

import xsd wsdl svcutil.exe

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

Spring CXF Webservice无法正确部署

情况就是这样:我们有一个Spring-MVC应用程序,现在应该提供契约优先的SOAP Web服务.在查看了一个CXF示例(wsdl_first)之后,我终于成功了:

我生成了骨架类,并且还实现了服务接口.

Tomcat 7似乎部署了一些东西:

12 Jan 2014 19:32:08,386  INFO org.apache.cxf.service.factory.ReflectionServiceFactoryBean:411 - Creating Service {urn:webservice.x.com:wsdl}IdmAdapterService from WSDL: classpath:IdmAdapterService.wsdl
Run Code Online (Sandbox Code Playgroud)

我创建了第二个应该处理webservice调用的servlet.WEB-INF/web.xml包含:

<servlet>
    <servlet-name>webservices</servlet-name>
    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>webservices</servlet-name>
    <url-pattern>/services/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

WEB-INF/cxf-servlet.xml包含:

<jaxws:endpoint xmlns:tns="urn:webservice.x.com:wsdl"
    id="idmAdapterImpl" address="/services/IdmAdapterService"
    serviceName="tns:IdmAdapterService" endpointName="tns:IdmAdapterSoapPort"
    implementor="de.y.idm.IdmAdapterImpl"
    />
Run Code Online (Sandbox Code Playgroud)

src/main/resources/cxf.xml包含:

<jaxws:endpoint name="{urn:webservice.x.com:wsdl}:IdmAdapterSoapPort"
    wsdlLocation="IdmAdapterService.wsdl">
    <jaxws:properties>
        <entry key="schema-validation-enabled" value="true" />
    </jaxws:properties>
</jaxws:endpoint>
Run Code Online (Sandbox Code Playgroud)

src/main/resources/server-applicationContext.xml包含:

<!-- HTTP Endpoint -->
<jaxws:endpoint xmlns:tns="urn:webservice.x.com:wsdl"
    id="idmAdapterImpl"
            address="/services/IdmAdapterService"
    serviceName="tns:IdmAdapterService"
            endpointName="tns:IdmAdapterSoapPort"
    implementor="de.y.idm.IdmAdapterImpl">
    <jaxws:features>
        <bean class="org.apache.cxf.feature.LoggingFeature" />
    </jaxws:features>
</jaxws:endpoint>
Run Code Online (Sandbox Code Playgroud)

当我调用URL时

 http://localhost:8080/application/services/IdmAdaptorService?wsdl
Run Code Online (Sandbox Code Playgroud)

我总是最终得到

 No service was found.
Run Code Online (Sandbox Code Playgroud)

并在控制台上

12 Jan 2014 19:51:53,731 DEBUG org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter:136 …
Run Code Online (Sandbox Code Playgroud)

java spring wsdl web-services cxf

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

svcutil不会生成soap客户端

我有一个我想连接的Web服务,我无法弄清楚wsdl出了什么问题.

wsdl位于" http://marketplacebylaredoute.fr/spapi/SellerOrderService?wsdl ".然后我尝试运行svcutil http://marketplacebylaredoute.fr/spapi/SellerOrderService?wsdl并且它失败了.错误如下(仅提取)

Error: Cannot import wsdl:portType
Detail: An exception was thrown while running a WSDL import extension: System.Se
rviceModel.Description.XmlSerializerMessageContractImporter
Error: These members may not be derived.
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://Redcats/Order
/SellerOrder/2.0']/wsdl:portType[@name='portType']
Run Code Online (Sandbox Code Playgroud)

知道这个wsdl可能有什么问题吗?

.net soap wsdl

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

如何用pysimplesoap构造SOAP消息?

我正在尝试使用PySimpleSoap从荷兰政府土地登记处(WSDL)调用SOAP服务.到目前为止,我这样做是为了连接:

from pysimplesoap.client import SoapClient
client = SoapClient(wsdl='http://www1.kadaster.nl/1/schemas/kik-inzage/20141101/verzoekTotInformatie-2.1.wsdl')
Run Code Online (Sandbox Code Playgroud)

Plamen Petrov一个很棒的答案的帮助下,我现在明白我需要使用这个client.VerzoekTotInformatie()方法发送下面的xml .

然而,我不明白的是我如何获得所需的XML(见下文).我当然可以手动构建它,但我感觉有一种更聪明/更pythonic的方式来构建它.我可以使用pysimplesoap构建此消息xml吗?

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.kadaster.nl/schemas/kik-inzage/20141101" xmlns:v20="http://www.kadaster.nl/schemas/kik-inzage/ip-aanvraag/v20141101">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:VerzoekTotInformatieRequest>
         <v20:Aanvraag>
            <v20:berichtversie>?</v20:berichtversie>
            <v20:klantReferentie>ABC</v20:klantReferentie>
            <v20:productAanduiding>?</v20:productAanduiding>
            <v20:Ingang>
               <v20:Object>
                  <v20:IMKAD_KadastraleAanduiding>
                     <v20:gemeente>Amsterdam</v20:gemeente>
                     <v20:sectie>123</v20:sectie>
                     <v20:perceelnummer>456</v20:perceelnummer>
                     <v20:appartementsindex>789</v20:appartementsindex>
                     <v20:deelperceelnummer>10</v20:deelperceelnummer>
                     <v20:AKRKadastraleGemeenteCode>20</v20:AKRKadastraleGemeenteCode>
                  </v20:IMKAD_KadastraleAanduiding>
               </v20:Object>
            </v20:Ingang>
         </v20:Aanvraag>
      </ns:VerzoekTotInformatieRequest>
   </soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)

[编辑]

按照文档中的示例,我现在尝试berichtversie在其中添加VerzoekTotInformatieRequest ,之后我尝试向soap-service请求.但正如你在下面看到的那样,身体仍然只有空<VerzoekTotInformatie>(没有Request),而且我得到了一个巨大的错误.我有什么想法可以构建上面的消息?

>>> client['VerzoekTotInformatieRequest'] = {'Aanvraag': {'berichtversie': 'yay'}}
>>> c.VerzoekTotInformatie()
INFO:pysimplesoap.client:POST https://service1.kadaster.nl/kik/inzage/20141101/VerzoekTotInformatieService
DEBUG:pysimplesoap.client:SOAPAction: "VerzoekTotInformatie"
Content-length: 378
Content-type: text/xml; charset="UTF-8"
DEBUG:pysimplesoap.client:<?xml …
Run Code Online (Sandbox Code Playgroud)

python xml soap wsdl pysimplesoap

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

标签 统计

wsdl ×10

soap ×4

web-services ×3

.net ×2

cxf ×2

xml ×2

api ×1

contract-first ×1

delphi ×1

import ×1

java ×1

jaxb ×1

php ×1

pysimplesoap ×1

python ×1

spring ×1

svcutil.exe ×1

wcf ×1

wscf ×1

wso2 ×1

xsd ×1