精华内容
参与话题
问答
  • wsdl

    2019-08-22 17:41:18
    啥是wsdl?到现在也不知道。java项目里的wsdl怎么用?也不知道。总之就是能通过下面的地址获取到一个xml格式的list。 遇到的问题?通过http://域名/wsdl所在的目录?wsdl的时候,报404. 解决思路:一顿google,...

    啥是wsdl?到现在也不知道。java项目里的wsdl怎么用?也不知道。总之就是能通过下面的地址获取到一个xml格式的list。

    遇到的问题?通过http://域名/wsdl所在的目录?wsdl的时候,报404.

    解决思路:一顿google,统一的说法是端口不正确,没当回事是最大的错误。绕了一圈。

    正确思路:首先到部署app所在的tomcat下,使用上面的地址直接wget一下,看是否能拉到那个xml,当地址后面没有那个?wsdl的时候,拉到的会是Perhaps there will be a form for invoking the service here 还有一句话:hello ,this is……。重点来了,地址和端口使用localhost:8080,端口使用你设置的端口。如果拉的结果也报404,说明在application就设置了错误的端口。排查一下。具体是在哪里设置的这个端口呢?我也不知道,等待后续看到了再说。

     

    如果上面的拉取是正确的接下来就要查看在各层转发中是否正确,比如loadbalabcer,如果是在k8s内,具体查看一下service的配置,ingress的配置。在ingress内查看有几个地址,一般会有多个。一个是给http的,一个是给api的,一个是给ssl的。

    本次定位到的是就是前辈用错了地址,害我找了一大通,也怪自己太菜。mark一下。

     

    总结:技术终归是死的,解决问题的思路非常重要,即使是白痴,思路对了就能快速解决或者虽然慢但是一定能解决。

     

    展开全文
  • WSDL

    2019-01-15 09:04:21
    什么是 WSDLWSDL(网络服务描述语言,Web Services Description Language)是一门基于 XML 的语言,用于描述 Web Services 以及如何对它们进行访问。 WSDL,被称作网络服务描述语言,是一门基于 XML 的语言,...

    什么是 WSDL?

    WSDL(网络服务描述语言,Web Services Description Language)是一门基于 XML 的语言,用于描述 Web Services 以及如何对它们进行访问。

    WSDL,被称作网络服务描述语言,是一门基于 XML 的语言,用于描述 Web Services ,以及如何对其进行访问

     

    • WSDL 使用 XML 编写
    • WSDL 是一种 XML 文档
    • WSDL 用于描述网络服务
    • WSDL 也可用于定位网络服务
    • WSDL 还不是 W3C 标准

    2001年,微软提交了WSDL 1.1 草案。2002年,w3c发布了WSDL 1.2 工作草案。

    WSDL具体用于什么地方呢?你可以写一套WSDL文档,向别人介绍你的 web service 有什么功能,以及它的各项函数、参数和返回值。因为WSDL是基于XML之上的,因此不仅仅是人可以阅读参考,机器也是可以阅读的。而一些最新的开发工具已经能够根据你的 web service 生成 WSDL 文档,还能导入 WSDL 文档,生成调用相应 web service 的代码。

     

    WSDL 元素介绍

    Types - 数据类型定义的容器,它使用某种类型系统(一般地使用XML Schema中的类型系统)。

    Message - 通信消息的数据结构的抽象类型化定义。使用Types所定义的类型来定义整个消息的数据结构。

    Operation - 对服务中所支持的操作的抽象描述,一般单个Operation描述了一个访问入口的请求/响应消息对。

    PortType - 对于某个访问入口点类型所支持的操作的抽象集合,这些操作可以由一个或多个服务访问点来支持。

    Binding - 特定端口类型的具体协议和数据格式规范的绑定。

    Port - 定义为协议/数据格式绑定与具体Web访问地址组合的单个服务访问点。

    Service - 相关服务访问点的集合。

    WSDL 元素介绍

    Types - 数据类型定义的容器,它使用某种类型系统(一般地使用XML Schema中的类型系统)。

    Message - 通信消息的数据结构的抽象类型化定义。使用Types所定义的类型来定义整个消息的数据结构。

    Operation - 对服务中所支持的操作的抽象描述,一般单个Operation描述了一个访问入口的请求/响应消息对。

    PortType - 对于某个访问入口点类型所支持的操作的抽象集合,这些操作可以由一个或多个服务访问点来支持。

    Binding - 特定端口类型的具体协议和数据格式规范的绑定。

    Port - 定义为协议/数据格式绑定与具体Web访问地址组合的单个服务访问点。

    Service - 相关服务访问点的集合。

    WSDL 文档结构

    WSDL 文档是利用这些主要的元素来描述某个 web service 的:

    元素 定义
    <portType> web service 执行的操作
    <message> web service 使用的消息
    <types> web service 使用的数据类型
    <binding> web service 使用的通信协议

    一个 WSDL 文档的主要结构是类似这样的:

    <definitions>

    <types>
      data type definitions........
    </types>

    <message>
      definition of the data being communicated....
    </message>

    <portType>
      set of operations......
    </portType>

    <binding>
      protocol and data format specification....
    </binding>

    </definitions>

    WSDL 文档可包含其它的元素,比如 extension 元素,以及一个 service 元素,此元素可把若干个 web services 的定义组合在一个单一的 WSDL 文档中。


    WSDL 端口

    <portType> 元素是最重要的 WSDL 元素。

     

    它可描述一个 web service、可被执行的操作,以及相关的消息。

     

    可以把 <portType> 元素比作传统编程语言中的一个函数库(或一个模块、或一个类)。

     


    WSDL 消息

    <message> 元素定义一个操作的数据元素。

     

    每个消息均由一个或多个部件组成。可以把这些部件比作传统编程语言中一个函数调用的参数。

     


    WSDL types

    <types> 元素定义 web service 使用的数据类型。

     

    为了最大程度的平台中立性,WSDL 使用 XML Schema 语法来定义数据类型。

     


    WSDL Bindings

    <binding> 元素为每个端口定义消息格式和协议细节。

     


    WSDL 实例

    这是某个 WSDL 文档的简化的片段:

     

    <message name="getTermRequest">
      <part name="term" type="xs:string"/>
    </message>

    <message name="getTermResponse">
      <part name="value" type="xs:string"/>
    </message>

    <portType name="glossaryTerms">
      <operation name="getTerm">
        <input message="getTermRequest"/>
        <output message="getTermResponse"/>
      </operation>
    </portType>

    在这个例子中,<portType> 元素把 "glossaryTerms" 定义为某个端口的名称,把 "getTerm" 定义为某个操作的名称。

    操作 "getTerm" 拥有一个名为 "getTermRequest" 的输入消息,以及一个名为 "getTermResponse" 的输出消息

    <message> 元素可定义每个消息的部件,以及相关联的数据类型。

    对比传统的编程,glossaryTerms 是一个函数库,而 "getTerm" 是带有输入参数 "getTermRequest" 和返回参数 getTermResponse 的一个函数。

     

    WSDL 端口

    <portType> 元素是最重要的 WSDL 元素。

    它可描述一个 web service、可被执行的操作,以及相关的消息。

    可以把 <portType> 元素比作传统编程语言中的一个函数库(或一个模块、或一个类)。


    操作类型

    请求-响应是最普通的操作类型,不过 WSDL 定义了四种类型:

    类型 定义
    One-way 此操作可接受消息,但不会返回响应。
    Request-response 此操作可接受一个请求并会返回一个响应
    Solicit-response 此操作可发送一个请求,并会等待一个响应。
    Notification 此操作可发送一条消息,但不会等待响应。

     


    One-Way 操作

    一个 one-way 操作的例子:

    <message name="newTermValues">
      <part name="term" type="xs:string"/>
      <part name="value" type="xs:string"/>
    </message>

    <portType name="glossaryTerms">
      <operation name="setTerm">
        <input name="newTerm" message="newTermValues"/>
      </operation>
    </portType >

    在这个例子中,端口 "glossaryTerms" 定义了一个名为 "setTerm" 的 one-way 操作。

    这个 "setTerm" 操作可接受新术语表项目消息的输入,这些消息使用一条名为 "newTermValues" 的消息,此消息带有输入参数 "term" 和 "value"。不过,没有为这个操作定义任何输出。


    Request-Response 操作

    一个 request-response 操作的例子:

    <message name="getTermRequest">
      <part name="term" type="xs:string"/>
    </message>

    <message name="getTermResponse">
      <part name="value" type="xs:string"/>
    </message>

    <portType name="glossaryTerms">
      <operation name="getTerm">
        <input message="getTermRequest"/>
        <output message="getTermResponse"/>
      </operation>
    </portType>

    在这个例子中,端口 "glossaryTerms" 定义了一个名为 "getTerm" 的 request-response 操作。

    "getTerm" 操作会请求一个名为 "getTermRequest" 的输入消息,此消息带有一个名为 "term" 的参数,并将返回一个名为 "getTermResponse" 的输出消息,此消息带有一个名为 "value" 的参数。

    以上就是关于 WSDL 端口的全部介绍。

    WSDL 绑定


    WSDL 绑定可为 web service 定义消息格式和协议细节。


    绑定到 SOAP

    一个 请求 - 响应 操作的例子:

    <message name="getTermRequest">
      <part name="term" type="xs:string"/>
    </message>

    <message name="getTermResponse">
      <part name="value" type="xs:string"/>
    </message>

    <portType name="glossaryTerms">
      <operation name="getTerm">
        <input message="getTermRequest"/>
        <output message="getTermResponse"/>
      </operation>
    </portType>

    <binding type="glossaryTerms" name="b1">
       <soap:binding style="document"
       transport="http://schemas.xmlsoap.org/soap/http" />
       <operation>
         <soap:operation soapAction="http://example.com/getTerm"/>
         <input><soap:body use="literal"/></input>
         <output><soap:body use="literal"/></output>
      </operation>
    </binding>

    binding 元素有两个属性 - name 属性和 type 属性。

    name 属性定义 binding 的名称,而 type 属性指向用于 binding 的端口,在这个例子中是 "glossaryTerms" 端口。

    soap:binding 元素有两个属性 - style 属性和 transport 属性。

    style 属性可取值 "rpc" 或 "document"。在这个例子中我们使用 document。transport 属性定义了要使用的 SOAP 协议。在这个例子中我们使用 HTTP。

    operation 元素定义了每个端口提供的操作符。

    对于每个操作,相应的 SOAP 行为都需要被定义。同时您必须如何对输入和输出进行编码。在这个例子中我们使用了 "literal"。

    WSDL UDDI


    UDDI 是一种目录服务,企业可以使用它对 Web services 进行注册和搜索。
    UDDI,英文为 "Universal Description, Discovery and Integration",可译为"通用描述、发现与集成服务"。


    什么是 UDDI?

    UDDI 是一个独立于平台的框架,用于通过使用 Internet 来描述服务,发现企业,并对企业服务进行集成。

    • UDDI 指的是通用描述、发现与集成服务
    • UDDI 是一种用于存储有关 web services 的信息的目录。
    • UDDI 是一种由 WSDL 描述的 web services 界面的目录。
    • UDDI 经由 SOAP 进行通信
    • UDDI 被构建入了微软的 .NET 平台

    UDDI 基于什么?

    UDDI 使用 W3C 和 IETF* 的因特网标准,比如 XML、HTTP 和 DNS 协议。

    UDDI 使用 WSDL 来描述到达 web services 的界面

    此外,通过采用 SOAP,还可以实现跨平台的编程特性,大家知道,SOAP 是 XML 的协议通信规范,可在 W3C 的网站找到相关的信息。

    *注释:IETF - Internet Engineering Task Force


    UDDI 的好处

    任何规模的行业或企业都能得益于 UDDI。

    在 UDDI 之前,还不存在一种 Internet 标准,可以供企业为它们的企业和伙伴提供有关其产品和服务的信息。也不存在一种方法,来集成到彼此的系统和进程中。

    UDDI 规范帮助我们解决的问题:

    • 使得在成百万当前在线的企业中发现正确的企业成为可能
    • 定义一旦首选的企业被发现后如何启动商业
    • 扩展新客户并增加对目前客户的访问
    • 扩展销售并延伸市场范围
    • 满足用户驱动的需要,为在全球 Internet 经济中快速合作的促进来清除障碍

    UDDI 如何被使用

    假如行业发布了一个用于航班比率检测和预订的 UDDI 标准,航空公司就可以把它们的服务注册到一个 UDDI 目录中。然后旅行社就能够搜索这个 UDDI 目录以找到航空公司预订界面。当此界面被找到后,旅行社就能够立即与此服务进行通信,这样由于它使用了一套定义良好的预订界面。


    谁在支持 UDDI?

    UDDI 是一个跨行业的研究项目,由所有主要的平台和软件提供商驱动,比如:Dell, Fujitsu, HP, Hitachi, IBM, Intel, Microsoft, Oracle, SAP, 以及 Sun, 它既是一个市场经营者的团体,也是一个电子商务的领导者。

    已有数百家公司参与了这个 UDDI 团体。

    WSDL 语法

    描述于 W3C 工作草案的完整 WSDL 1.2 语法已列在下面:

     

    
    <wsdl:definitions name="nmtoken"? targetNamespace="uri">
    
        <import namespace="uri" location="uri"/> 
    
        <wsdl:documentation .... /> ?
    
        <wsdl:types> ?
            <wsdl:documentation .... /> ?
            <xsd:schema .... /> 
        </wsdl:types>
    
        <wsdl:message name="ncname"> 
            <wsdl:documentation .... /> ?
            <part name="ncname" element="qname"? type="qname"?/> 
        </wsdl:message>
    
        <wsdl:portType name="ncname"> 
            <wsdl:documentation .... /> ?
            <wsdl:operation name="ncname"> 
                <wsdl:documentation .... /> ?
                <wsdl:input message="qname"> ?
                    <wsdl:documentation .... /> ?
                </wsdl:input>
                <wsdl:output message="qname"> ?
                    <wsdl:documentation .... /> ?
                </wsdl:output>
                <wsdl:fault name="ncname" message="qname"> 
                    <wsdl:documentation .... /> ?
                </wsdl:fault>
            </wsdl:operation>
        </wsdl:portType>
    
        <wsdl:serviceType name="ncname"> 
            <wsdl:portType name="qname"/> +
        </wsdl:serviceType>
    
        <wsdl:binding name="ncname" type="qname"> 
            <wsdl:documentation .... /> ?
            <-- binding details --> 
            <wsdl:operation name="ncname"> 
                <wsdl:documentation .... /> ?
                <-- binding details --> 
                <wsdl:input> ?
                    <wsdl:documentation .... /> ?
                    <-- binding details -->
                </wsdl:input>
                <wsdl:output> ?
                    <wsdl:documentation .... /> ?
                    <-- binding details --> 
                </wsdl:output>
                <wsdl:fault name="ncname"> 
                    <wsdl:documentation .... /> ?
                    <-- binding details --> 
                </wsdl:fault>
            </wsdl:operation>
        </wsdl:binding>
    
        <wsdl:service name="ncname" serviceType="qname"> 
            <wsdl:documentation .... /> ?
            <wsdl:port name="ncname" binding="qname"> *
                <wsdl:documentation .... /> ?
                <-- address details -->
            </wsdl:port>
        </wsdl:service>
    
    </wsdl:definitions>

     

    展开全文
  • WSDL error

    2020-12-02 19:27:19
    <div><p>Something wrong with wsdl parsing. I get this error msgs. Server side. <p>Element {http://schemas.xmlsoap.org/wsdl/}wsdl:part is not allowed within "wsdl:message" Element {...
  • E:\Axis2-1.6.2\bin>wsdl2java -uri E:\EnergyService.wsdl -o E:\i Using AXIS2_HOME: E:\Axis2-1.6.2 Using JAVA_HOME: E:\jdk Retrieving document at 'E:\EnergyService.wsdl'. log4j:WARN No appenders could ...
  • <p>I'm creating connection with WSDL file, which I have on server. Yesterday it worked fine, but today I can't connect to it and getting this error: <p>SOAP-ERROR: Parsing WSDL: Couldn't load from...
  • cache_wsdl常量含义

    2017-10-25 21:19:51
    </strong> Does <code>wsdl_cache_memory</code> store the xml or parsed wsdl in memory... between requests... for a day? How does this differ between CLI and Web? I can not find any documentation on how...
  • wsdl:binding name="BasicHttpBinding_IProductService" type="i0:IProductService"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="RetrieveByKey"> &...

空空如也

1 2 3 4 5 ... 20
收藏数 18,865
精华内容 7,546
关键字:

wsdl