加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

spring – CUCM AXL API错误的SoapAction

发布时间:2020-12-15 01:32:51 所属栏目:大数据 来源:网络整理
导读:我想对CUCM DB进行SQL查询.我使用Maven jaxb2插件从WSDL生成Java类,但Cisco AXL docs建议使用wsdl2java.我有很多带有Req / Res结尾的Java类(据我所知,请求和响应).这是我的代码: public class CUCMDatabaseConnector extends WebServiceGatewaySupport{ pri

我想对CUCM DB进行SQL查询.我使用Maven jaxb2插件从WSDL生成Java类,但Cisco AXL docs建议使用wsdl2java.我有很多带有Req / Res结尾的Java类(据我所知,请求和响应).这是我的代码:

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:未找到Operation的端点引用(EPR)是https:// IP:8443 / axl / services / AXLAPIService,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]没有提供方案部分.它看起来像xsd架构的插件构建类,而不是wsdl.但是这个wsdl是从CUCM下载的原始文件.可能有什么不对?

最佳答案
在developers.cisco.com上找到this链接.这个使用AXLPort的方法建议,AXLPort是一种向CUCM发出SOAP请求的包装器.
在我看来,CUCM AXL SOAP接口不是开始使用Spring WS的最佳选择

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读