您的位置:首页 > 其它

A SOAP 1.2 message is not valid when sent to a SOAP 1.1 only endpoint.

2013-11-13 18:05 1026 查看
使用C++编写服务端,JAVA开发客户端。

JAVA使用CXF,使用gsoap;

当发生以上错误,原因是由于SOAP版本不一致,解决方法:

在Service1Soap.nsmap文件中做如下修改:

//{"SOAP-ENV", "http://www.w3.org/2003/05/soap-envelope", "http://www.w3.org/2003/05/soap-envelope", NULL},

//{"SOAP-ENC", "http://www.w3.org/2003/05/soap-encoding", "http://www.w3.org/2003/05/soap-encoding", NULL},

{"SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/", "http://schemas.xmlsoap.org/soap/envelope/", NULL},

{"SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding/", "http://schemas.xmlsoap.org/soap/encoding/", NULL},

{"xsi", "http://www.w3.org/2001/XMLSchema-instance", "http://www.w3.org/*/XMLSchema-instance", NULL},

{"xsd", "http://www.w3.org/2001/XMLSchema", "http://www.w3.org/*/XMLSchema", NULL},

{"ns2", "configprop.cxf.spinfosec.com/Service1Soap", NULL, NULL},

{"ns1", "configprop.cxf.spinfosec.com", NULL, NULL},

{"ns3", "configprop.cxf.spinfosec.com/Service1Soap12", NULL, NULL},

{NULL, NULL, NULL, NULL}

并且在soapService1SoapService.cpp文件中做如下修改:

//static const struct Namespace namespaces[] =

//{

// {"SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/", "http://schemas.xmlsoap.org/soap/envelope/", NULL},

// {"SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding/", "http://schemas.xmlsoap.org/soap/encoding/", NULL},

// {"xsi", "http://www.w3.org/2001/XMLSchema-instance", "http://www.w3.org/*/XMLSchema-instance", NULL},

// {"xsd", "http://www.w3.org/2001/XMLSchema", "http://www.w3.org/*/XMLSchema", NULL},

// {"ns2", "configprop.cxf.spinfosec.com/Service1Soap", NULL, NULL},

// {"ns1", "configprop.cxf.spinfosec.com", NULL, NULL},

// {"ns3", "configprop.cxf.spinfosec.com/Service1Soap12", NULL, NULL},

// {NULL, NULL, NULL, NULL}

//};

//this->namespaces = namespaces;

错误已经修改完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐