0

Excel スプレッドシートが、JAX-WS で作成した Java Web サービスを呼び出して結果を取得すると思われるいくつかの問題に遭遇しています。ただし、NodeList を送信も受信もしないという問題があります。これを処理するために Web サービスをどのように変更する必要があるのか​​ わかりません。

もう 1 つの問題は、MS Office 2003 Web Service Toolkit が Web メソッドを関数ではなくサブルーチンとして定義していることです。

私の Web メソッドは、エンドポイント インターフェイスで次のように定義されています。

@WebMethod
@WebResult(name="CreateWorkOrderItemResponse")
CreateWorkOrderItemResponse createWorkItems(@WebParam(name = "CreateWorkOrderItemRequest")CreateWorkOrderItemRequest request);

CreateWorkOrderItemRequestは次のように定義されます。

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "authentication",
    "createData"
})
@XmlRootElement(name = "CreateWorkOrderItemRequest", namespace="")
public class CreateWorkOrderItemRequest {

    @XmlElement(name = "authentication", required = true)
    protected Authentication authentication = null;
    @XmlElement(name = "create_data", required = true)
    protected ArrayList<CreateWorkOrderItemData> createData = new ArrayList<CreateWorkOrderItemData>();

    public Authentication getAuthentication() {
        return authentication;
    }

    public void setAuthentication(Authentication authentication) {
        this.authentication = authentication;
    }

    public ArrayList<CreateWorkOrderItemData> getCreateData() {
        return createData;
    }

    public void setCreateData(ArrayList<CreateWorkOrderItemData> createData) {
        this.createData = createData;
    }
}

CreateWorkOrderItemResponseは次のように定義されます。

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "submissionResponse",
    "errorList"
})
@XmlRootElement(name = "CreateWorkOrderItemResponse")
public class CreateWorkOrderItemResponse{

    @XmlElement(name = "submission_response", required = true)
    protected SubmissionResponse submissionResponse = new SubmissionResponse();

    @XmlElementWrapper(name="error_list") 
    @XmlElement(name="error", required = true, nillable = true)
    protected ArrayList<Error> errorList = new ArrayList<Error>();

    public SubmissionResponse getSubmissionResponse() {
        return submissionResponse;
    }

    public void setSubmissionResponse(SubmissionResponse submissionResponse) {
        this.submissionResponse = submissionResponse;
    }

    public ArrayList<Error> getErrorList() {
        return errorList;
    }

    public void addError(Error error) {
        errorList.add(error);
    }

    public void addErrors(ArrayList<Error> errors) {
        for (Error error : errors) {
            errorList.add(error);
        }
    }

    public void setErrorList(ArrayList<Error> errorList) {
        this.errorList = errorList;
    }
}

Web サービス ツールキットの結果は次のようになります。

Public Sub wsm_createWorkItems() 
    '***************************************************************** 
    'Proxy subroutine created from http://localhost:8080/gbswebsvcs/seiwebsvcs?wsdl. 
    '***************************************************************** 
    'Error Trap 
        On Error GoTo wsm_createWorkItemsTrap 

        sc_SEIWebServiceImplServ.createWorkItems 
        Exit Sub 
wsm_createWorkItemsTrap: 
    SEIWebServiceImplServErrorHandler "wsm_createWorkItems" 
End Sub 

しかし、どうやら次のように出てくると思われます。

Public Function wsm_createWorkItems(ByVal any_CreateWorkOrderItemRequest As MSXML2.IXMLDOMNodeList) As MSXML2.IXMLDOMNodeList

    '***************************************************************** 
    'Proxy function created from http://localhost:8080/gbswebsvcs/seiwebsvcs?wsdl. 
    '"wsm_createWorkItems, any_CreateWorkOrderItemRequest" is defined as XML. See Complex Types: XML Variables in 
    'Microsoft Office 2003 Web Services Toolkit Help for details on implementing XML variables. 
    '***************************************************************** 
    'Error Trap 
        On Error GoTo wsm_createWorkItemsTrap 

        Set wsm_createWorkItems = sc_DataServicesServer.createWorkItems(any_CreateWorkOrderItemRequest) 
        Exit Function 
wsm_createWorkItemsTrap: 
    DataServicesServerErrorHandler "wsm_createWorkItems" 
End Function 

どうすればこの時点まで到達できますか? 助けてくれてありがとう。

4

1 に答える 1

0

私は実際にこれを理解しました。私は自分のやり方でそれに近づくことができませんでした。フォルダの再構築とともに、いくつかの新しい注釈を追加する必要がありました。ObjectFactory、package-info、およびその他のものを追加して、それを実行する必要がありました。そうは言っても、それは何よりもJBossの問題だったと思います。

于 2012-04-19T12:06:57.093 に答える