小编tom*_*jok的帖子

如何使用WSDL完全填充的请求生成SOAP消息,而无需代码生成

我想问你如何在WSDL文件的基础上以XML格式生成SOAP请求/响应.目标平台是JVM,因此可以使用多种语言(例如Java,Scala,Groovy,JRuby,Jython等).SOAP请求/响应生成应该完全在XML级别上完成,而不需要任何类生成和类加载(在这种情况下,WSDL2Java,JAXB或类似方法是不合适的).应该使用开源组件以编程方式完成生成.生成技术应该支持document-literal,rpc-encoded和rpc-literal风格,因此生成器应该处理参数的正确编码.请求/响应消息应该是完全填充的 - >即使对于空/空值,也应生成空节点.

长话短说 - >我想以编程方式完成SoapUI IDE中可行的事情.我已经看过不同的Java相关库/框架(SAAJ,WSDL4J)或Ruby(Savon),但我正在努力进一步推动它.

我正在处理的示例Web服务定义(WSDL和XSD)是 stockquote-ws.wsdlstockquote-schema.xsd.

我想做的是:

SoapMessageGenerator generator = new SoapMessageGenerator("stockquote-ws.wsdl");
String request = generator.generateSoapRequest();
String response = generator.generateSoapResponse();
Run Code Online (Sandbox Code Playgroud)

在这种情况下,请求应如下所示:

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:stoc="http://centeractive.com/stockquote.wsdl" xmlns:stoc1="http://centeractive.com/stockquote.xsd">
   <soapenv:Header/>
   <soapenv:Body>
      <stoc:GetLastTradePrice soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <stoc1:TradePriceRequest>
            <tickerSymbol xsi:type="xsd:string">?</tickerSymbol>
         </stoc1:TradePriceRequest>
      </stoc:GetLastTradePrice>
   </soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)

......而响应应如下所示:

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:stoc="http://centeractive.com/stockquote.wsdl" xmlns:stoc1="http://centeractive.com/stockquote.xsd">
   <soapenv:Header/>
   <soapenv:Body>
      <stoc:GetLastTradePriceResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <stoc1:TradePrice>
            <price xsi:type="xsd:float">?</price>
         </stoc1:TradePrice>
      </stoc:GetLastTradePriceResponse>
   </soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)

java soap wsdl web-services

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

如何以POSIX方式实现'set -o pipefail' - 几乎完成,需要专家帮助

我必须以POSIX方式实现BASH"set -o pipefail"选项,以便它适用于各种LINUX/UNIX版本.为了解释一下,该选项使用户能够验证所有管道命令的成功执行.启用此选项后,此命令将启用cat app.log | 如果'cat'失败,grep'ERROR'失败,否则'cat'错误被抑制.

所以,我在这里找到了一个非常好的解决方案:http://cfaj.ca/shell/cus-faq-2.html

      run() {
         j=1
         while eval "\${pipestatus_$j+:} false"; do
           unset pipestatus_$j
           j=$(($j+1))
         done
         j=1 com= k=1 l=
         for a; do
           if [ "x$a" = 'x|' ]; then
             com="$com { $l "'3>&-
                         echo "pipestatus_'$j'=$?" >&3
                       } 4>&- |'
             j=$(($j+1)) l=
           else
             l="$l \"\$$k\""
           fi
           k=$(($k+1))
         done
         com="$com $l"' 3>&- >&4 4>&-
                    echo "pipestatus_'$j'=$?"'
         exec 4>&1
         eval "$(exec 3>&1; eval "$com")"
         exec 4>&-
         j=1
         while eval "\${pipestatus_$j+:} false"; do
           eval "[ \$pipestatus_$j -eq …
Run Code Online (Sandbox Code Playgroud)

linux shell command-line posix pipe

8
推荐指数
3
解决办法
6613
查看次数

如何在angularjs中禁用IE8和IE9上的#hashbang重定向

我有一个angularjs(v 1.2.19)应用程序,它由两个独立的html页面组成(或者实际上这些是两个单独的angularjs应用程序在一个文件夹中):

  • 的index.html
  • edit.html

我在IE 8和9上有一些众所周知的兼容性问题(两者都不支持html5历史API).我的配置包含:$locationProvider.html5Mode(true).hashPrefix('!');

我在应用程序中没有任何路由 - index.html和edit.html可以看作是单独的angularjs应用程序 - 具有单独的angularjs初始化等.

问题看起来像这样:每当我打开链接:http://server/app或者http://server/app/index.html一切正常.

每当我打开链接时:http://server/app/edit.html从ng-click或直接在浏览器中,页面会自动重定向到http://server/#!app/edit.html

如何禁用"hashbang"重定向?Edit.html不是index.html的一部分,因此它应该直接加载,不需要任何index.html重定向和"哈希"路由.

我尝试了下面的代码,但它导致无限循环的重定向...

<!--[if lt IE 10]>
    <script>   
        window.location = window.location.href.replace( /#.*/, "");
    </script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏.

hashbang angularjs

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

标签 统计

angularjs ×1

command-line ×1

hashbang ×1

java ×1

linux ×1

pipe ×1

posix ×1

shell ×1

soap ×1

web-services ×1

wsdl ×1