2015-11-04 5 views
6

私はCUCM DBにSQLクエリを作成したいと思います。 Maven jaxb2プラグインを使用してWSDLからJavaクラスを生成しましたが、Cisco AXLはwsdl2javaを使用するようアドバイスしています。私は、Req/Resエンディング(私が理解するように要求と応答)を持つJavaクラスをたくさん持っています。これは私のコードです:CUCM AXL APIが間違っているSoapAction

public class CUCMDatabaseConnector extends WebServiceGatewaySupport{ 
    private String SOAP_ACTION = "CUCM:DB ver=10.5";  

    public void updateData(){ 
      String END_USERS_REQUEST = REQUEST, 
        AXLurl = "https://" + properties.getCurrentCUCM_IP() + ":8443/axl/"; 

      ExecuteSQLQueryReq sqlRequest = new ExecuteSQLQueryReq(); 
      sqlRequest.setSql(END_USERS_REQUEST); 

      WebServiceTemplate template = getWebServiceTemplate(); 
      template.setMessageSender(NullHostnameVerifier.getMessageSender()); 
      ExecuteSQLQueryRes sqlResponse = (ExecuteSQLQueryRes) template 
        .marshalSendAndReceive(
          AXLurl, 
          sqlRequest, 
          new WebServiceMessageCallback() { 
           @Override 
           public void doWithMessage(WebServiceMessage message) throws IOException, TransformerException { 
            TransportContext context = TransportContextHolder.getTransportContext(); 
            HttpUrlConnection connection = (HttpUrlConnection) context.getConnection(); 

            //adding required headers 
            connection.addRequestHeader("SOAPAction", SOAP_ACTION); 
            connection.addRequestHeader("Authorization", autenString); 
           } 
          } 
        });    
      } 
    } 
} 

しかし、私はそれを実行したとき、私はエラーを取得する:私が見るよう

org.springframework.ws.soap.client.SoapFaultClientException: The endpoint reference (EPR) for the Operation not found is https://IP:8443/axl/services/AXLAPIService and the WSA Action = CUCM:DB ver=10.5 executeSQLQueryReq

ので、問題はCUCM AXLサービスですexecuteSQLQuery方法がありますが、executeSQLQueryReqではありません。 SpringがSoapActionに正しいメソッドを入れる方法を教えてください。または、私はwsdl2javaだけを使用する必要がありますか?


UPDATE

私はJavaクラスを生成した場合は、ディレクトリ内の.xsdスキーマもありました。 jaxb2 configはWSDLファイルを指していますが、エラーURI [src/main/resources/AXLAPI.wsdl] does not provide the scheme part.があり、wsdlではなくxsdスキーマのプラグインビルドクラスのようです。しかし、このwsdlはCUCMからダウンロードされた元のファイルでした。何が間違っていますか?

+0

アップデートに関して。問題は "src/main/resources/AXLAPI.wsdl"が有効なURIではないということです。 「スキーム部分を提供しない」というエラーは、「スキーム」(「https」など)が欠落していることを示します。 WSDLがローカルファイルシステム上にある場合は、 'file:/// path/to/AXLAPI.wsdl'のようなものを使用します。 –

+0

ありがとうございます、 "スキームの部分を提供していません"がなくなり、 'BUILD SUCCESS'が表示されますが、ターゲットディレクトリにはソースは生成されません –

答えて

2

Found 012,link on developers.cisco.comこのハウツーアドバイスは、CUCMにSOAPリクエストを行うためのラッパーの一種であるAXLPortの使用をアドバイスします。 私には、CUCM AXL SOAPインターフェイスがSpring WSでの作業を開始する最良の選択肢ではありません

関連する問題