私の Response.xsd には、次のような多くの要素があります。
...
<xs:element type="xs:string" name="carModel" minOccurs="0">
</xs:element>
...
から生成JAXBClasses
しまし.xsd
た。結果:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
//...
"carModel"
//...
})
public static class Car{
//...
protected String carModel;
//...getter and setters.
}
私の WebService 応答の構築:
Car car = new Car();
//other params
car.setCarModel(null);
生成された応答では、次のようになります。
<ax23:carModel xsi:nil="true"/>
しかし、私は完全にタグがまったくないことを期待carModel
しています。完全にスキップしたい
何が間違っているのですか?Whyはデフォルトでwhenにnull
なります。nil
nillable = false
よくわかりませんが、@Xstian に求めていたものは次のとおりです。
私の一部web.xml
:
<servlet>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>
org.apache.axis2.transport.http.AxisServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
私のWEB-INF/services/CarService/META-INF/services.xml
:
<service name="CarService" >
<Description>
Please Type your service description here
</Description>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass" locked="false">com.foo.ws.CarService</parameter>
</service>