Как описать параметр URL в WSDL 2.0 - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь понять спецификацию WSDL 2.0, чтобы описать службу Restful. Мне нужно написать файл WSDL, который описывает URL с параметрами, в зависимости от параметра, ресурс различен (различная полезная нагрузка).

То, что я хочу описать, выглядит примерно так:

http://localhost: 8888 / getTeuration / {format}

Где format - параметр этот параметр может быть:

  • "/ tempB"
  • "/ temp C"

Я прочитал спецификации и не могу найти где или как можно описать параметры и связать их с типом или операцией.

Я проверил некоторые форумы, где люди используют

Спасибо за ваше время.

WSDL, который у меня есть, выглядит следующим образом:

<description  xmlns="http://www.w3.org/ns/wsdl"
    targetNamespace= "http://jenkov.com/MyService"
    xmlns:whttp="http://www.w3.org/ns/wsdl/http"
    xmlns:wsdlx="http://www.w3.org/ns/wsdl-extensions">

    <documentation>
        Temperature Service example 
    </documentation>

    <types>
        <xs:schema
        xmlns:xs = "http://www.w3.org/2001/XMLSchema"
        targetNamespace = "http://yoursite.com/MyService/schema"
        xmlns = "http://yoursite.com/MyService/schema" >
            <xs:element name = "temperatureB" type="tTemperatureB" />
            <xs:complexType name = "tTemperatureB" >
            <xs:sequence>
                    <xs:element name = "n" type = "xs:string" />
                    <xs:element name = "u" type = "xs:string" />
                    <xs:element name = "v" type = "xs:float" />
                    <xs:element name = "t" type = "xs:Time" />
            <xs:sequence>
            </xs:complexType>
            <xs:element name = "temperatureC" type="tTemperatureC" />
            <xs:complexType name = "tTemperatureC" >
            <xs:sequence>
                    <xs:element name = "Name" type = "xs:string" />
                    <xs:element name = "Localization" type = "xs:string" />
                    <xs:element name = "value" type = "valueObj" />
            <xs:sequence>
            </xs:complexType>
             <xs:complexType name = "valueObj" >
            <xs:sequence>
                    <xs:element name = "Temp" type = "xs:Integer" />
                    <xs:element name = "Unit" type = "xs:string" />
                    <xs:element name = "Time" type = "xs:Time" />
            <xs:sequence>
            </xs:complexType>

        </xs:schema>
    </types>

    <interface name = "BServiceInterface">
        <fault name = "dataFault" element = "stns:dataError" />
        <operation name = "getTempB"
            pattern = "http://www.w3.org/ns/wsdl/in-out"
            style= " http://www.w3.org/ns/wsdl/style/iri"
            wsdlx:safe = "true">
            <output messageLabel = "Out" element = "temperatureB"/>
            <outfault messageLabel = "Out" ref = "tns:dataFault" />
        </operation>
    </interface>

    <binding name = "service_tempB_binding" 
          interface = "BServiceInterface"
          type = "http://www.w3.org/ns/wsdl/http">
         <operation ref = "getTempB" whttp:method="GET"/>
    </binding>

    <service name = "service_tempB" 
       interface = "BServiceInterface">
        <endpoint name = "service_tempB_HTTP" 
               binding = "service_tempB_binding""
               address = "http://127.0.0.1:8888/getTemperature/B"/>
    </service>
</description>```







...