webservice客户端代码,URL地址问题解决

添加代码, 覆盖 接口中 URL地址即可

        QueryPriceCostFromEDW_Service service = new QueryPriceCostFromEDW_Service();
        QueryPriceCostFromEDW soap = service.getQueryPriceCostFromEDWSOAP();

        BindingProvider bindingProvider = (BindingProvider) soap;
        String wsdlURL = "http://xxxxxxxxxxx?wsdl";
        bindingProvider.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, wsdlURL);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的QT Webservice客户端程序,实现了调用WSDL文件中的方法并传递参数,获取Webservice服务的响应结果。 ```cpp #include <QtCore/QCoreApplication> #include <QtXml/QDomDocument> #include <QtNetwork/QNetworkAccessManager> #include <QtNetwork/QNetworkRequest> #include <QtNetwork/QNetworkReply> class WebserviceClient : public QObject { Q_OBJECT public: WebserviceClient(QObject *parent = 0) : QObject(parent) { manager = new QNetworkAccessManager(this); } void callWebService() { // Webservice URL QString url = "http://localhost:8080/Webservice/Service"; // SOAP request XML QString xmlRequest = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ser=\"http://service.webservice.com/\"><soapenv:Header/><soapenv:Body><ser:method><arg0>parameter1</arg0><arg1>parameter2</arg1></ser:method></soapenv:Body></soapenv:Envelope>"; // Create request QNetworkRequest request; request.setUrl(QUrl(url)); request.setHeader(QNetworkRequest::ContentTypeHeader, "text/xml;charset=UTF-8"); request.setRawHeader("SOAPAction", "http://service.webservice.com/method"); // Send request QNetworkReply *reply = manager->post(request, xmlRequest.toUtf8()); // Handle response QObject::connect(reply, SIGNAL(finished()), this, SLOT(onWebServiceResponse())); } private slots: void onWebServiceResponse() { QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender()); if (reply->error() == QNetworkReply::NoError) { // Parse response XML QDomDocument xmlResponse; xmlResponse.setContent(reply->readAll()); // Extract response data QString responseData = xmlResponse.documentElement().firstChild().firstChild().toElement().text(); // Output response data qDebug() << responseData; } else { // Handle error qDebug() << reply->errorString(); } reply->deleteLater(); } private: QNetworkAccessManager *manager; }; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); WebserviceClient client; client.callWebService(); return a.exec(); } ``` 在程序中,先定义了一个WebserviceClient类,用于封装Webservice客户端的相关功能。在类中,首先定义了一个QNetworkAccessManager对象,用于发送Webservice请求和接收Webservice响应。然后,实现了一个callWebService()方法,用于调用Webservice服务并传递参数。在方法中,首先定义了WebserviceURL和SOAP请求XML,然后创建了一个QNetworkRequest对象,并设置相关请求头部信息。接着,使用QNetworkAccessManager发送Webservice请求,并在onWebServiceResponse()槽函数中处理Webservice响应。在槽函数中,首先判断响应是否正常,如果正常则解析XML数据,提取响应数据并输出;如果出现错误则输出错误信息。最后,程序在main函数中创建了一个WebserviceClient对象,并调用了callWebService()方法来实现Webservice客户端的功能。 需要注意的是,Webservice服务的URL和SOAP请求XML需要根据具体情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值