小编Dan*_*iel的帖子

使用AXIS2创建的ADB-stub在客户端获取原始XML SOAP响应

我使用AXIS2创建的ADB-stub访问SOAP服务.我想记录服务返回的任何Axis Fault的原始XML响应.我可以将这些错误视为"ServiceError".但是,我找不到一种方法来检索原始XML(参见下面的示例).

我找到了一种使用getOMElement访问原始XML请求/响应以进行常规处理的方法(参见下面的示例).但是,这不适用于故障.

如何使用ADB存根获取原始XML错误?

示例Java代码:

    public void testRequest(String URL) throws AxisFault {
        MyServiceStub myservice = new MyServiceStub(URL);
        MyRequest req = new MyRequest();
        try {
            TypeMyFunctionResponse response = myservice.myFunction(req);

            // logging full soap response
            System.out.println("SOAP Response: "
                    + response.getOMElement(null,
                            OMAbstractFactory.getOMFactory())
                            .toStringWithConsume());
        } catch (RemoteException e) {
            //...
        } catch (ServiceError e) {
            // how to get the raw xml?
        }
    }
Run Code Online (Sandbox Code Playgroud)

示例故障响应,我想获取并记录:

<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
    <soapenv:Body>
        <soapenv:Fault>
            <soapenv:Code>
                <soapenv:Value>soapenv:Receiver</soapenv:Value>
            </soapenv:Code>
            <soapenv:Reason>
                <soapenv:Text xml:lang="en-US">service error</soapenv:Text>
            </soapenv:Reason>
            <soapenv:Detail>
                <ns1:error xmlns:ns1="http://www.somehost.com/webservices/someservice">
                    <ns1:code>500</ns1:code> …
Run Code Online (Sandbox Code Playgroud)

java soap axis2

9
推荐指数
3
解决办法
4万
查看次数

NodeJs:二进制 fs.createReadStream 作为 UTF-8 流式传输

我手头的任务是在 NodeJs 中读取 jpeg 文件并将其作为 http-response 发送以回答服务器请求。似乎是微不足道的。但是,我的第一个解决方案失败了。浏览器确实收到了一些二进制乱码,比原始文件大了大约 30%。

我的代码是(简化; res 是 SeverResponse 类型):

...
var fs = require('fs');
var stream = fs.createReadStream(pathToJPEG, {encoding: 'binary'});
res.setHeader('Content-Type', "image/jpeg");
stream.pipe(res);
...
Run Code Online (Sandbox Code Playgroud)

事实证明,到达浏览器的是我的源数据的 UTF-8 编码版本。我还能够排除响应对象是罪魁祸首。当我给它一个替代流(来自缓冲区,而不是文件)时,它工作得很好。

原来我的问题的解决方案是删除选项 {encoding: 'binary'}。我的浏览器收到了正确的图片:

...
var fs = require('fs');
var stream = fs.createReadStream(pathToJPEG);
res.setHeader('Content-Type', "image/jpeg");
stream.pipe(res);
...
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么?

第一个非工作版本应该是正确的似乎很直观,因为它明确声明了如何读取文件。

stream utf-8 node.js

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

JavaFX-带分隔符的切换按钮

Java FX Scen Builder包含相当特殊形式的切换按钮。几个按钮在视觉上串联在一起,并由一条小的垂直线隔开:

在此处输入图片说明

我想知道这是怎么做到的。有人有什么主意吗?

javafx-2

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

CSS分页控制,如何避免表格行寡妇(下一页单行)

我有一个打印不同长度的潜在长动态表。这些表格可能跨越多个页面。有时,一行会打印到下一页。出于美学原因,我想避免这种情况。

所以这是我想要的: 在此处输入图片说明

明确地说,我不问如何避免表格单元格或表格行内的分页符。这会很容易。

我(有点)熟悉 page-break-after、page-break-before、page-break-inside。我仍然没有完成。

这里有一些小提琴手来演示:https : //jsfiddle.net/jobe451/Lxb37ejr/10/

该提琴手打印的原始结果:http : //fiddle.jshell.net/jobe451/Lxb37ejr/10/show/

到目前为止,我最好的失败尝试是这个 HTML:

      <tr class="row">
          <td class="colLeft">left</td><td class="colRight">right</td>
      </tr>
      <tr class="row afterAvoid">
          <td class="colLeft">left</td><td class="colRight">right</td>
      </tr>
      <tr class="row afterAvoid beforeAvoid">
          <td class="colLeft">left</td><td class="colRight">right</td>
      </tr>
      <tr class="row afterAvoid beforeAvoid">
          <td class="colLeft afterAvoid">left</td><td class="colRight afterAvoid">right</td>
      </tr>
      <tr class="row beforeAvoid">
          <td class="colLeft beforeAvoid">left</td><td class="colRight beforeAvoid">right</td>
      </tr>
  </table>
</body>
Run Code Online (Sandbox Code Playgroud)

使用这个 CSS:

body {
    widows: 3;
    orphans: 3;
}
.afterAvoid {
    page-break-after: avoid;
}
.beforeAvoid {
    page-break-before: avoid;
}
Run Code Online (Sandbox Code Playgroud)

html css

5
推荐指数
0
解决办法
1028
查看次数

带有动态过滤器/搜索标准的灰烬路线

由于以下问题,我现在卡住了几天.我的用例是我有一个包含数百万个地址的数据库.从Web应用程序我想搜索它们,显示结果列表,然后显示有关单个地址的信息.一个重要目标是将搜索条件表示为URL的一部分.这样,用户可以返回到先前的搜索,甚至可以通过操纵URL来构建搜索.所以我希望有这样的URL:

http://localhost/#/searchresults?lastname=king&firstname=stephen&city=somecity
Run Code Online (Sandbox Code Playgroud)

我无法设置路由器来处理这些类型的URL.所有的尝试都以死路结束.如何让ember进入/ searchresults路由以及如何使用RESTAdapter将它转发到那些过滤器标准?

ember.js

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

标签 统计

axis2 ×1

css ×1

ember.js ×1

html ×1

java ×1

javafx-2 ×1

node.js ×1

soap ×1

stream ×1

utf-8 ×1