标签: wsdl

Qt - 是否有任何工具可用于生成使用SOAP Web服务的代码?

我正在寻找一种工具,可以基于它的WSDL为Web服务的类和方法生成Qt代码.Qt有这样的工具吗?

qt wsdl web-services

1
推荐指数
1
解决办法
1047
查看次数

使用wsdl自动发现的Zend Soap Server无法正常工作

这个问题重复一遍

我正在尝试使用wsdl自动发现模式中的Zend_Soap_Server创建一个Web服务,但我获得了非常奇怪的效果......这里代码:server:

<?php
require_once('Zend/Soap/AutoDiscover.php');
require_once('Zend/Soap/Server.php');
require_once('Zend/Soap/Wsdl.php');
require_once('library/SoapActions.php');
$wsdl = new Zend_Soap_Autodiscover();
$wsdl->setClass('SoapActions');
if (isset($_GET['wsdl'])) {
$wsdl->handle();
    } else {
    $server = new Zend_Soap_Server('http://localhost:8083/server.php?wsdl');
    $server->setClass('SoapActions');
    $server->setEncoding('ISO-8859-1');
    $server->handle();
    }
Run Code Online (Sandbox Code Playgroud)

SoapActions类:

class SoapActions {

/**
 * Test function
 * 
 * @param String $a
 * @param String $b
 * @return String
 */
 public function test1($a, $b) {
    return "you passed me ".$a." ".$b;
 }

 /**
 * Test function 2
 * 
 * @param String $a
 * @param String $b
 * @return String
 */
 public …
Run Code Online (Sandbox Code Playgroud)

soap wsdl zend-framework zend-soap

1
推荐指数
1
解决办法
5651
查看次数

PHP SoapClient __call()异常:SOAP不支持DTD

这个是杀了我......

我正在学习用PHP开发SOAP服务器,而且我遇到了一个令人讨厌的问题,谷歌没有多大帮助,尽管问题上有很多问题......

在使用我认为是一个好的WSDL实例化SOAP CLIENT之后,第一次调用soap服务器上的现有函数会产生以下异常:

SoapFault Object
(
    [message:protected] => DTD are not supported by SOAP
    [string:private] => 
    [code:protected] => 0
    [file:protected] => /var/www/soapserver/soapServerTestClient.php
    [line:protected] => 7
    [trace:private] => Array
        (
            [0] => Array
                (
                    [function] => __call
                    [class] => SoapClient
                    [type] => ->
                    [args] => Array
                        (
                            [0] => testSoapService
                            [1] => Array
                                (
                                    [0] => TESTSTRING
                                )

                        )

                )

            [1] => Array
                (
                    [file] => /var/www/soapserver/soapServerTestClient.php
                    [line] => 7
                    [function] => testSoapService
                    [class] => SoapClient
                    [type] => ->
                    [args] …
Run Code Online (Sandbox Code Playgroud)

php soap wsdl soap-client

1
推荐指数
1
解决办法
2万
查看次数

FedEx运送API是否具有SOAP端点?

FedEx运送API是否具有SOAP端点?我找不到WSDL端点。

api soap wsdl web-services fedex

1
推荐指数
1
解决办法
4425
查看次数

尝试使用Magento的API时出现肥皂错误

我正在寻找这个问题的帮助,我希望有人给我这帮助.错误如下:

致命错误:SOAP-ERROR:解析WSDL:无法从"http://example.com/index.php/api/?wsdl"加载:无法加载外部实体"http://example.com/index. php/api /?wsdl"位于第28行的/var/www/presentacion/app/code/local/Pengo/Extension/Model/Something.php

我用来连接它的代码是这样的:

$this->_soap = new SoapClient(http://example.com/index.php/api/?wsdl);
Run Code Online (Sandbox Code Playgroud)

并且它说的是错误.

我一直在谷歌,PHP论坛,在StackOverflow和Magento本身,但我找不到任何解决方案.

我所看到的是,WSDL永远不会被解析或加载,因为错误说明并且没有任何函数.

我试过像这样连接:

$options['location'] = http://example.com/index.php/api/?wsdl;
$options['uri'] = 'urn:Magento';
$this->_soap = new SoapClient(null, $options);
Run Code Online (Sandbox Code Playgroud)

像这样它不会像其他错误那样发送任何错误但是没有要使用的函数,就像在另一种情况下它没有'加载和解析WSDL一样.

我有点沮丧,因为我已经开发了这个像1个月,现在我正在做一些测试它显示这个消息,我测试了它真的是空的,新的,它工作正常.

所以任何帮助将不胜感激.

谢谢.

php soap wsdl magento

1
推荐指数
1
解决办法
9669
查看次数

使用SUDS时添加xsi:type和envelope命名空间

我需要与SOAP服务进行交互,并且这样做很麻烦; 我真的很感激任何指针.原始错误消息是:

org.apache.axis2.databinding.ADBException: Any type element type has not been given
Run Code Online (Sandbox Code Playgroud)

经过一番研究,事实证明,这是SUDS与服务器之间的分歧,如何应对

type="xsd:anyType"
Run Code Online (Sandbox Code Playgroud)

在有问题的元素上.

我已经确认使用SOAPUI,经过建议,可以通过以下步骤解决问题:

  1. 将xsi:type ="xsd:string"添加到导致问题的每个元素
  2. 将xmlns:xsd ="http://www.w3.org/2001/XMLSchema"添加到SOAP信封中

那么,SUDS目前在哪里这样做:

<SOAP-ENV:Envelope ... xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<ns3:Body>
  <ns0:method>
     <parameter>
        <values>
           <table>
              <key>EMAIL_ADDRESS</key>
              <value>example@example.org</value>
           </table>
        </values>
     </parameter>
  </ns0:method>
Run Code Online (Sandbox Code Playgroud)

它应该产生这个:

<SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" ... xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">

  <ns3:Body>
  <ns0:method>
     ...
     <parameter>
        <values>
           <table>
              <key xsi:type="xsd:string">EMAIL_ADDRESS</key>
              <value xsi:type="xsd:string">example@example.org</value>
           </table>
        </values>
     </parameter>
  </ns0:method>
Run Code Online (Sandbox Code Playgroud)

有没有正确的方法来做到这一点?我已经看到了使用ImportDoctor或MessagePlugins的建议,但还没有真正了解如何实现所需的效果.

python xml soap wsdl suds

1
推荐指数
1
解决办法
3289
查看次数

Webservice客户端找不到wsdl

我在NetBeans 7.1中创建了两个webservices客户端,模仿他们在他们网站上的教程.

我刚刚针对位于http位置的wsdl文件做了第一个,并且使用webservice没有问题

我目前正在使用的Web服务有一个位于https位置的wsdl文件.服务的设置顺利完成.与第一个的唯一区别是弹出窗口警告我安全证书,我接受了.服务,生成的源,META-INF等都已成功创建.wsdl文件的本地副本存储在我的电脑上的src/..文件夹下.

但是,一旦我运行我的代码,我收到此错误:

找不到' https://-domain-.net/-XYZServices-/-ABCXML?wsdl-'wsdl .将资源正确放置在类路径中.

我在Stackoverflow和其他地方发现了几个类似的问题,但没有真正解决我的问题.无论如何,我尝试了几个建议:

我检查了jax-ws-catalog.xml文件,发现上面引用的url映射到存储wsdl本地副本的本地文件夹.我检查了本地文件夹是否实际包含wsdl文件 - 它确实.我尝试在jax-ws-catalog.xml文件中编辑url以指向端口8080和8081 - 没有快乐.

我想这是一个安全问题,但不知道如何解决这个问题.

任何人都可以指出我在这里正确的方向.

仅供参考:我是java和NetBeans的新手.

谢谢.

java https wsdl webservices-client netbeans-7

1
推荐指数
1
解决办法
1万
查看次数

从Webservice列表中隐藏Restful服务(Apache CXF)

我正在使用Apache CXF Framework,我在cxf-servlet.xml中指定了Restful以及Soap Webservice,在部署项目并通过url请求服务列表为htt:// SystemIP:8080/WebServicesExample/services /出现具有SOAP和REST服务的服务列表,有没有办法隐藏列表中列出的REST服务?

java soap wsdl web-services cxf

1
推荐指数
1
解决办法
3020
查看次数

在PHP中使用SoapClient通过代理获取WSDL时出现错误请求

我有两个服务器:一个用于开发,可以轻松访问WEB,另一个用于生产,只能使用代理访问WEB.

我想从我的生产服务器调用SOAP WEB服务.

以下是代码(URL是假的):

$url = 'https://www.webservice.com/soap.php';
$wsdl = 'https://www.webservice.com/soap.php?wsdl';

$client = new SoapClient
(
        $wsdl,
        array
        (
                'location'      => $url,
                'proxy_host'    => 'www.myproxy.com',
                'proxy_port'    => 8080,
        )
);


$namespace = 'urn:mynamespace';
$header = array
(
        'header1' => 'H1',
        'header2' => 'H2',
        'header3' => 'H3',
);

$client->__setSoapHeaders(new SoapHeader($namespace, 'myHeader', $header));

$params = array
(
        'param1' => 'val1',
        'param2' => 'val2',
        'param3' => 'val3',
);

$result = $client->method($params);
Run Code Online (Sandbox Code Playgroud)

我从我的开发服务器运行它,我得到了预期的结果.现在我从我的生产服务器运行它,我得到:

PHP Warning:  SoapClient::SoapClient(https://www.webservice.com/soap.php?wsdl): failed to open stream: HTTP request failed! HTTP/1.1 400 …
Run Code Online (Sandbox Code Playgroud)

php proxy soap wsdl

1
推荐指数
1
解决办法
5117
查看次数

URL末尾没有WSDL的SOAP Web服务

我在Jetty上部署了一个Web服务.我使用SOAP UI通过链接调用它http://ip:port/DefaultRequestListener?workflow=WsdlCPF&soapAction=Import,它的工作原理.我一直在使用在网址末尾有?wsdl的服务,但现在我很困惑.为什么在url的末尾没有?wsdl?

soap wsdl web-services

1
推荐指数
1
解决办法
1万
查看次数