2
I次エンドポイント・インタフェースを持っている:JAX-WS:プレイスのArrayListラッパーが返される
@WebService
public interface SEIWebService {
@WebMethod
@WebResult(name="CreateWorkOrderItemResponse")
CreateWorkOrderItemResponse createWorkItem(@WebParam(name = "CreateWorkOrderItemRequest")CreateWorkOrderItemRequest request);
}
実装:
@WebService(endpointInterface = "com.someCompany.SEIWebService", portName = "SEIWebServices")
public class SEIWebServiceImpl implements SEIWebService{
@Override
public CreateWorkOrderItemResponse createWorkItem(CreateWorkOrderItemRequest request) {
CreateWorkOrderItemResponse response = new CreateWorkOrderItemResponse();
response.setResponseCode("Testing Create 2222");
response.addError("Error 1");
response.addError("Error 2");
return response;
}
そして最後に、応答オブジェクト
ためのコードpublic class CreateWorkOrderItemResponse {
private String responseCode = null;
private ArrayList<String> errorList = new ArrayList<String>();
public void setResponseCode(String responseCode) {
this.responseCode = responseCode;
}
public String getResponseCode() {
return responseCode;
}
public void addError(String error) {
errorList.add(error);
}
public void setErrorList(ArrayList<String> errorList) {
this.errorList = errorList;
}
public ArrayList<String> getErrorList() {
return errorList;
}
}
このコードを実行すると、SoapUIの応答が次のように表示されます。
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:createWorkItemResponse xmlns:ns2="http://someCompany.com/">
<CreateWorkOrderItemResponse>
<errorList>Error 1</errorList>
<errorList>Error 2</errorList>
<responseCode>Testing Create 2222</responseCode>
<testList/>
</CreateWorkOrderItemResponse>
</ns2:createWorkItemResponse>
</S:Body>
</S:Envelope>
最後に、質問 ...上記のコードでは、私はerrorList応答を中心に「ラッパー」を追加することができ、それを変更する方法はありますか?私は、SOAPメッセージの応答は次のようになり持って探しています:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:createWorkItemResponse xmlns:ns2="http://someCompany.com/">
<CreateWorkOrderItemResponse>
<Errors>
<errorList>Error 1</errorList>
<errorList>Error 2</errorList>
</Errors>
<responseCode>Testing Create 2222</responseCode>
<testList/>
</CreateWorkOrderItemResponse>
</ns2:createWorkItemResponse>
</S:Body>
</S:Envelope>
は助けありがとうございました!
私は、もちろん、 "errorList"変数名を別のものに変更しています。 – Ascalonian
ああ、 'testList'はちょうど私が何かを試していた。それは無視することができます。 – Ascalonian