MULE ESB简单SOAP服务创建必填字段

时间:2015-01-02 21:30:08

标签: java web-services soap wsdl mule

我想在Mule 3.4社区中公开一个简单的SOAP Web服务。 服务的某些字段需要是强制/必需的。怎么办?

以下是Web服务方法:

public String methodname(String field1, String field2, String field3);

以下是生成的wsdl:

<xsd:element minOccurs="0" name="field1" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="field2" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="field3" nillable="true" type="xsd:string"/>

如何创建这些字段minOccurs =“1”和nillable =“false”

请注意@XmlElement(required = true)不适用于我的Java版本1.6

2 个答案:

答案 0 :(得分:1)

minOccurs="1"使元素强制minOccurs="0"使可选 因此,请进行以下更改以强制执行: -

<xsd:element minOccurs="1" name="field1" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="1" name="field2" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="1" name="field3" nillable="true" type="xsd:string"/>

供参考: - https://social.msdn.microsoft.com/Forums/en-US/f59a3ee2-5997-4ee7-8c09-8d371c923267/creating-required-elements-in-xsd?forum=xmlandnetfx

How to tell if XML element is marked as required in the XSD file

nillable指定是否可以为元素分配显式空值 参考: - http://www.w3schools.com/schema/el_element.asp

因此,您需要在WSDL中进行更改,以便生成的Java类实现属性的属性

答案 1 :(得分:1)

我担心你不能通过一项简单的服务来做到这一点(因为它的定义很简单,它可能适用于你指出的后一版本的java)。

您应该在没有自动生成的wdsl的情况下切换到全功能的jaxws服务。