当前位置: 首页 > 知识库问答 >
问题:

Spring-WS:如何从没有“request”元素的xsd创建Wsdl

屈翰飞
2023-03-14

试图为客户机实现SOAP Webservice,我需要一个wsdl文件来通过SOAPUI测试服务。但是正如您在下面看到的,这个xsd没有请求和响应方法,所有请求和响应都定义为基本ServiceProvider元素中的a“type”。因此,当我试图通过spring-ws自动生成wsdl文件时,它不会生成正确的wsdl,因为spring-ws要求所有请求和响应元素名称都应该以“request”“response”结尾。

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
   elementFormDefault="qualified" 
      attributeFormDefault="unqualified" targetNamespace="http://myurl" xmlns="http://myurl">

 <xs:element name="ServiceProviderT" nillable="false">
    <xs:annotation>
        <xs:documentation>ServiceProviderT is the message spec for data sent between TechX and service providers or
            vendors</xs:documentation>
                </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Version" type="xs:string" nillable="false"/>
                            <xs:choice>
                                <xs:element name="Request" type="RequestType" nillable="false"/>
                                <xs:element name="Response" type="ResponseType" nillable="false"/>
                                </xs:choice>
                                    </xs:sequence>
                                        </xs:complexType>
                                            </xs:element> 
                                                 ....
<sws:dynamic-wsdl id="myservice"
    portTypeName="MyService"
    locationUri="/myService"
    targetNamespace="http://myurl">
    <sws:xsd location="/schemas/my.xsd"/>
</sws:dynamic-wsdl>

共有1个答案

宋洲
2023-03-14

没有这样的要求,这些只是默认值。在Spring-WS参考指南中对此进行了解释。它还解释了要设置哪些属性来重写这些默认值。

默认的请求后缀是request;默认响应后缀是response,但是可以通过在 上分别设置requestsuffixresponsesuffix属性来更改这些后缀。

<sws:dynamic-wsdl id="myservice"
    portTypeName="MyService"
    locationUri="/myService"
    requestSuffix="YourRequestSuffixHere"
    responseSuffix="YourResponseSuffixHere"
    targetNamespace="http://myurl">
    <sws:xsd location="/schemas/my.xsd"/>
</sws:dynamic-wsdl>
 类似资料:
  • 问题内容: 尝试为客户端实现SOAP Web服务,我需要一个wsdl文件来通过soapUI测试该服务。但是,如您在下面看到的那样,此xsd没有Request和Response方法,所有请求和响应都在基本ServiceProvider元素中定义为“类型”。因此,当我尝试通过spring- ws自动生成wsdl文件时,它不会生成适当的wsdl,因为Spring-ws要求所有请求,并且response元

  • 我正在使用Spring maven插件,我想从特定文件夹中的指定xml模式创建POJO类。我尝试通过java代码使用< code>xjc命令,但是它不能生成这些类。其次,我尝试使用< code>jaxb,但是在marshell/unmarshalling时,它处理的是< code>xml文件,而不是< code>xsd模式。我认为这不是从< code>xsd创建POJO的方法。 在java中从xs

  • 如何修改上面的代码,这样如果我输入100,我就有一个100个数字的数组,没有重复? 谢谢你。

  • 我正在尝试在php中创建以下元素,以创建我们的一个客户所需的xml。 每件事都很好,但我不知道如何创建以下元素 我已经尝试了几种方法,但仍然无法正确生成上述示例 有人能送我上路吗? 这是我的代码

  • 问题内容: 我有一个Java应用程序,可以在其中将XSD类型映射到另一个具有相同类型的类型。现在,我需要拥有一个可以映射任何类型的anyType xsd。就像我们在Java中拥有Object类型一样,是否有可能在XSD中创建类似对象。 编辑:在复杂类型级别是可能的。 问题答案: 是的,有可能。类型是。这是一个例子: (摘自底漆) 这是一个更复杂的示例: (也从底漆开始-值得一看)

  • 问题内容: 我有一个使用ajax动态创建的表单(因为表单元素的数据必须来自数据库),我想序列化表单元素以由ajax提交。我目前正在使用jQuery网站上的代码测试我的理论,以查看是否可以拾取表单元素,这就是问题所在: 我需要在提交之前对数据进行一些更改,并且尚未编写此代码,但是我发现,页面加载时存在的页面上的所有输入元素均被正确拾取,可以正确拾取使用Javascript填充的内容,但是将忽略使用A