小编Fra*_*ila的帖子

WSP0075:策略断言"TransportBinding"被评估为"未知".为什么?

我是一个我无法控制的SOAP服务的客户端(在.NET中实现).该服务提供WSDL.我使用Apache CXF从WSDL生成java客户端(具体来说,我使用的是Maven的cxf-codegen-plugin,它使用了wsdl2java).

但是,当我实例化生成的服务类时,会记录以下警告:

Sep 04, 2014 5:18:00 PM [com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector]  selectAlternatives
WARNING: WSP0075: Policy assertion "{http://schemas.xmlsoap.org/ws/2005/07/securitypolicy}TransportBinding" was evaluated as "UNKNOWN".
Sep 04, 2014 5:18:00 PM [com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector]  selectAlternatives
WARNING: WSP0019: Suboptimal policy alternative selected on the client side with fitness "UNKNOWN".
Run Code Online (Sandbox Code Playgroud)

但是客户端工作正常 - 我使用该服务没有任何问题.但是,我对这些错误感到困惑.

错误是关于WSDL中的这个安全策略,我认为它说它无法理解:

<wsp:Policy wsu:Id="soap11_policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
  <wsp:ExactlyOne>
    <wsp:All>
      <sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
        <wsp:Policy>
          <sp:TransportToken>
            <wsp:Policy>
              <sp:HttpsToken RequireClientCertificate="false"/>
            </wsp:Policy>
          </sp:TransportToken>
          <sp:AlgorithmSuite>
            <wsp:Policy>
              <sp:Basic256/>
            </wsp:Policy>
          </sp:AlgorithmSuite>
          <sp:Layout>
            <wsp:Policy>
              <sp:Strict/>
            </wsp:Policy>
          </sp:Layout>
        </wsp:Policy>
      </sp:TransportBinding>
    </wsp:All>
  </wsp:ExactlyOne>
</wsp:Policy>
Run Code Online (Sandbox Code Playgroud)

但据我所知,这是一个完全普通的政策,并没有什么不寻常之处.当然应该理解?我该如何修复此警告?

为了记录,这里是如何调用wsdl2java(摘自pom.xml).

-exsh trueARG和cxf-rt-bindings-soap …

wsdl cxf wsdl2java jax-ws soap-client

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

如何在datomic中撤消或撤消事务?

我意外地向datomic提交了一个事务,我想"撤消"整个事务.我确切知道它是什么交易,我可以看到它的数据,但我不知道如何从那里得到回滚交易.

clojure datomic

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

在jQuery中将子选择器与上下文节点一起使用的新方法是什么?

子选择器jQuery文档中,我看到了这个注释:

注意:$("> elem", context)选择器将在以后的版本中弃用.因此不鼓励使用其替代选择器.

我一直使用这种模式,通常是这样的:

$nodes.find('> children[something=morecomplicated] > somethingelse');
Run Code Online (Sandbox Code Playgroud)

但是,我不明白他们所指的"替代选择者"是什么.编写遍历上下文节点的直接子节点的选择器的正确方法是什么? 作为奖励,任何人都可以解释为什么这是折旧的?每个人都给予的所有替代品看起来都非常难看.

这里有一些事情,工作:

// does not guarantee that '.child' is an immediate child
$nodes.find('.child > .grandchild');

// this will return empty array in recent jQuery
// and will return full list of children in older jQuery
$nodes.children('.child > .grandchild');

// Anything like this which forces you to split up the selector.
// This is ugly and inconsistent with …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-selectors

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

使用排序另一个列表的结果在Python中对列表进行排序

我在Python中有两个列表

list_1 = [5, 2, 8];
list_2 = ['string1', 'string2', 'string3']
Run Code Online (Sandbox Code Playgroud)

我想对第一个列表进行排序并使用结果对第二个列表进行排序.

换句话说,结果应该是:

# Sorted in descending order
list_1_sorted = [8, 5, 2];
list_2_sorted = ['string3', 'string1', 'string2'];
Run Code Online (Sandbox Code Playgroud)

我知道如何单独对每个列表进行排序,但是我如何使用排序其他列表产生的索引排列来置换一个列表?

python

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

管道多个消费者的迭代器?

是否有可能跨越多个消费者"管道"生成器的消耗?

例如,使用此模式的代码很常见:

def consumer1(iterator):
    for item in iterator:
        foo(item)

def consumer2(iterator):
    for item in iterator:
        bar(item)

myiter = list(big_generator())
v1 = consumer1(myiter)
v2 = consumer2(myiter)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,多个函数完全使用相同的迭代器,因此必须将迭代器缓存在列表中.由于每个消费者都耗尽了迭代器,itertools.tee因此没用.

我看到这样的代码很多,我总是希望我能让消费者按顺序一次消耗一个项目,而不是缓存整个迭代器.例如:

  1. consumer1 消耗 myiter[0]
  2. consumer2 消耗 myiter[0]
  3. consumer1 消耗 myiter[1]
  4. consumer2 消耗 myiter[1]
  5. 等等...

如果我要编写语法,它看起来像这样:

c1_retval, c2_retval = iforkjoin(big_generator(), (consumer1, consumer2))
Run Code Online (Sandbox Code Playgroud)

您可以通过线程或多处理和teed迭代器来接近,但线程以不同的速度消耗,这意味着内部缓存的值deque tee可能会变得非常大.这里的要点不是利用并行性或加速任务,而是避免缓存迭代器的大部分.

在我看来,如果不修改消费者,这可能是不可能的,因为控制流程在消费者中.但是,当一个消费者实际使用迭代器控件传递给迭代器的next()方法时,也许有可能以某种方式反转控制流,以便迭代器一次阻塞一个消费者,直到它可以全部提供它们?

如果这是可能的,我不够聪明,不知道如何.有任何想法吗?

python

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

asm.js如何处理除零?

在javascript中,使用"整数"参数除零就像浮点一样:

 1/0;    // Infinity
-1/0;    // -Infinity
 0/0;    // NaN
Run Code Online (Sandbox Code Playgroud)

asm.js规范说,返回带有整数参数的除法intish,必须立即强制转换为有符号或无符号.如果我们在javascript中执行此操作,则使用"整数"参数除零始终在coersion后返回零:

(1/0)|0;    // == 0, signed case.
(1/0) >> 0; // == 0, unsigned case.
Run Code Online (Sandbox Code Playgroud)

但是,在具有Java和C等实际整数类型的语言中,将整数除以零是一个错误,执行会以某种方式停止(例如,抛出异常,触发陷阱等).

这似乎也违反了asm.js指定的类型签名.的类型的InfinityNaNdouble/是假想(从规格):

(签名,签名)→intish∧(无符号,无符号)→intish∧(double?,double?)→double∧(float?,float?)→floatish

但是,如果其中任何一个具有零分母,结果是double,所以看起来类型只能是:

(双?,双?)→双

在asm.js代码中会发生什么?它是否遵循javascript并返回0或除零产生运行时错误?如果它遵循javascript,为什么键入错误是正确的?如果它产生运行时错误,为什么规范没有提到呢?

javascript asm.js

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

如何使用PHP cURL发送具有正确Content-Type的图像?

目的:

我想使用multipart/form-data发送多个图像.下面是我的代码片段.

问题:

在一台PC上,多部分附件由正确的MIME标头Content-Type:image/jpeg发送,但在另一台PC上,MIME标头是Content-Type:application/octet.

题:

如何强制cURL为MIME内容设置正确的Content-Type标头?

$ch = curl_init();

$params = array('name' => '@D:\globe.jpg');  

$base_url = "https://example.com"."?".varEncode($test_data);

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
curl_setopt($ch, CURLOPT_URL,$base_url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

$result = curl_exec($ch);
Run Code Online (Sandbox Code Playgroud)

php curl

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

lxml.html.tostring在打印时重新排序了doctype和xml标签

想象一下,我有一个带有内容的文件test.html,

<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Components of the SDK</title><link rel="stylesheet" href="core.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"/></head><body></body></html>
Run Code Online (Sandbox Code Playgroud)

并在python提示符中执行此操作,

>>>import lxml.html
>>>t = lxml.html.parse('test.html')
>>>lxml.html.etree.tostring(t)
>>>'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\n<?xml version="1.0" encoding="UTF-8" standalone="no"??><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Components of the SDK</title><link rel="stylesheet" href="core.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"/></head><body/></html>'
Run Code Online (Sandbox Code Playgroud)

请注意在lxml读入数据然后再通过tostring将其打印出来后,doctype和xml标签是如何反转的?我们如何修复它以便它不会尝试修改文档(假设它已经很好地形成).

python xhtml lxml xml-parsing

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

批处理docx到markdown

关于我如何获得的任何想法:

textutil -convert html file.doc -stdout | pandoc -f html -t markdown -o file.md
Run Code Online (Sandbox Code Playgroud)

以便我可以在文件夹及其所有子文件夹上执行命令,以便将markdown文件放在与原始文件夹相同的文件夹中?

markdown sh textutils batch-processing pandoc

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

通过SimpleXMLElement循环访问属性

我正在尝试使用SimpleXML检索过程数据并且遇到了很大困难.我在这里读过很多关于这个主题的帖子,它们都像我在做的那样,但是我的工作并没有.这是我得到的:

<ROOT>
    <ROWS COMP_ID="165462">
    <ROWS COMP_ID="165463">
</ROOT>
Run Code Online (Sandbox Code Playgroud)

我的代码:

$xml = simplexml_load_file('10.xml');
foreach( $xml->ROWS as $comp_row ) {
    $id = $comp_row->COMP_ID;
}
Run Code Online (Sandbox Code Playgroud)

当我在调试器中逐步执行此操作时,我可以看到$ id未设置为COMP_ID的字符串值,而是成为包含CLASSNAME对象的SimpleXMLElement本身.我已经尝试了很多解决这个属性但没有工作的变体,包括$ comp_row-> attributes() - > COMP_ID等.

我错过了什么?

php xml simplexml

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

合并两个列表并使用python中的分隔符相应地连接它们

我对python有点新鲜.

我如何合并两个列表(两个字符串)并在python中相应地加入它们?

鉴于以下输入:

lista=['1','2','3']
listb=['a','b','c']
Run Code Online (Sandbox Code Playgroud)

我想要以下输出:

['1|a','2|b','3|c']
Run Code Online (Sandbox Code Playgroud)

python list

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

在模型中运行2个查询(codeigniter)?

例如,如果我在模型中运行一个查询:

public function list_users() { 
       $q = "SELECT user_id, username FROM users";
       return $q->result_array();
}
Run Code Online (Sandbox Code Playgroud)

现在,要列出该用户的帖子,我需要在此函数中引用它的id:

   public function list_posts() { 
           $q = "SELECT post_id, post_title, post_content FROM posts 
                 WHERE user_id = what??";
           return $q->result_array();
   }
Run Code Online (Sandbox Code Playgroud)

好的,这两个功能都在Model中.现在,如何在list_posts()中使用list_users()中的RESULT.请记住,我需要传递ID的ARRAY,并且仅用于list_users()的特定id,它也会返回ARRAY

我知道我可以使用连接查询,但这根本不是重点,因为我有很多需要拆分的查询

php model-view-controller codeigniter codeigniter-2

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