小编spi*_*nt0的帖子

无效的 SOAP 消息或 SOAP 版本不匹配

我正在使用 SOA 客户端 Firefox 插件向一些 ONVIF 摄像机发送 SOAP 请求。您将在下面看到“GetServices”请求。它对于一台相机工作正常,但对于另一台(AXIS 相机)我收到错误:“无效的 SOAP 消息或 SOAP 版本不匹配”。

对此还有其他疑问。但我没有一个答案是清楚的。其中一位提到更改为肥皂版本 1.2(我该怎么做?)。这个问题似乎可以通过一个简短的评论来解决:Onvif - 无效的 SOAP 消息或 SOAP 版本不匹配 如果有人认为它与我的案例相关,请您详细说明一下。

URL = http://10.253.253.2/onvif/device_service
Method = POST

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
xmlns:ns0="http://www.onvif.org/ver10/device/wsdl" 
xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
    <wsse:Security mustUnderstand="true">
        <wsse:UsernameToken>
            <wsse:Username>admin</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">sLOOZG8o+369zaBclGwn4+tjOac=</wsse:Password>
            <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">NWQyMzVjNGNhYmIxMTQ1ZjEzZWVlYzcyZDkzZjcwODI=</wsse:Nonce>
            <wsu:Created>2015-07-27T15:47:31.178534Z</wsu:Created>
        </wsse:UsernameToken>
    </wsse:Security>
</SOAP-ENV:Header>
<ns1:Body>
    <ns0:GetServices>
        <ns0:IncludeCapability>false</ns0:IncludeCapability>
    </ns0:GetServices>
</ns1:Body>
</SOAP-ENV:Envelope>
Run Code Online (Sandbox Code Playgroud)

以及错误响应...

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:c14n="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsa5="http://www.w3.org/2005/08/addressing" xmlns:xmime="http://tempuri.org/xmime.xsd" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:wsrfbf="http://docs.oasis-open.org/wsrf/bf-2" xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:wsrfr="http://docs.oasis-open.org/wsrf/r-2" xmlns:aa="http://www.axis.com/vapix/ws/action1" …
Run Code Online (Sandbox Code Playgroud)

soap

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

保留PHP脚本中的MySQL注释

我一直致力于一个项目,我一直在以交互方式开发MySQL命令.我现在想要使用PHP脚本运行MySQL命令.我通过简单地粘贴MySQL命令并将它们变成PHP字符串来实现这一点.像这样...

$queryStg = "
    update table1 set col1 = 1;

    drop table table2; 
    ";

$sqlQuery = mysqli_multi_query($mysqliLink, $queryStg);
Run Code Online (Sandbox Code Playgroud)

但是我总是不得不删除MySQL注释以使其工作.我宁愿保留这些评论.有没有办法做到这一点?.我已经尝试在每条评论的末尾添加'\n',但我无法让它发挥作用.例如,如果我运行它会返回错误...

$queryStg = "
    -- a mySQL comment
    update table1 set col1 = 1;

    --another comment
    drop table table2; 
    ";

$sqlQuery = mysqli_multi_query($mysqliLink, $queryStg);
Run Code Online (Sandbox Code Playgroud)

完整的代码使其有用

$mysqliLink = new mysqli ($host, $username, $password, $dbName);

$queryStg = "
    -- a mySQL comment
    update table1 set col1 = 1;

    --another comment
    drop table table2; 
    ";

$sqlQuery = mysqli_multi_query($mysqliLink, $queryStg);

do {
        if ( mysqli_error($mysqliLink) ) …
Run Code Online (Sandbox Code Playgroud)

php mysql comments

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

Drupal模块中的@符号

我正在尝试学习Drupal模块.有人能告诉我'@'符号是什么吗?我不记得在PHP中遇到它.(据我所知,它很难搜索它,你不能谷歌的符号).我可以将它转换为普通的PHP变量,修改它并最终将它放回到.module文件的PHP中的@ thing中吗?

更新:例如:

  $error['msg'] = t("We're sorry. We have now only @qty of the ....
Run Code Online (Sandbox Code Playgroud)

在文件中... http://drupal.org/project/uc_out_of_stock

drupal drupal-modules

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

这是什么:$('<div />')

在一个教程中,我遇到了这个jQuery:

var encodedName = $('<div />').text(name).html();
Run Code Online (Sandbox Code Playgroud)

'<div />'之前没见过.看起来不像是CSS选择器.有任何想法吗?

jquery

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

匿名函数代替python中的函数ref

threading.timer你传递一个函数的名称(下面的例子)。是否可以用函数体替换它,这样我就不必费心定义另一个琐碎的函数了

def PulseLed(self):
    GPIO.output(26, GPIO.HIGH)
    self.ledTimer = threading.Timer(1, self.TurnOffLed)
    self.ledTimer.start()

def TurnOffLed(self):
    GPIO.output(26, GPIO.LOW)
Run Code Online (Sandbox Code Playgroud)

python

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

WS-Discovery适用于不同逻辑网络上的摄像机

我有一个运行python的单元,需要使用ws-discovery来定位可能位于不同逻辑网络上的onvif摄像机。有人知道这是否可能吗?

(我在使用此库的相同逻辑网络上得到了发现:https : //github.com/hlamer/python-ws-discovery/blob/master/WSDiscovery.py

经过一番搜索,我遇到了听起来很有希望的“远程发现代理”,但我无法弄清楚它们到底是什么。

ws-discovery

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

导出按钮在归档器中显示为灰色

我正在尝试为我的IOS应用程序创建一个临时分发.当我去:XCODE>菜单>产品>存档时,这已成功完成,但"导出"按钮被禁用,并显示以下消息:"Apple Developer Program中需要分发注册".

我一定错过了注册或设置的一个步骤.能帮助弄清楚我做错了什么.这就是我所拥有的......

我加入了Apple开发者计划.在Apple会员中心:

  • 账户类型:公司/组织
  • MyName列出角色:agent

在证书下(https://developer.apple.com/account/ios/certificate)..

  • MyCompanyName:iOS发布
  • MyName:iOS开发

在标识符> APP ID下...

  • Xcode IOS通配符应用程序ID:*

在设备下......

  • 我的iPad已上市

在供应配置文件下...

  • MyNameProfile1,iOS Distribution,Active
  • iOS团队配置文件:*,iOS开发,活动(由XCODE管理)

在XCode中......

菜单> xcode> Prefs> Apple ID>我的苹果开发者ID已列出,它包含..

  • TeamName = MyName(个人团队),iOS =免费,MAC =免费
  • TeamName = MyCompanyName,iOS =代理,MAC =代理

在xcode中,当我选择了.xcodeproje文件时,在中间窗口中,我有......

  • 团队:MyName(个人团队)

当我选择iPad时按下"运行"按钮,应用程序可以在我的iPad上构建和启动而不会出现问题.但是,如果我选择:Team MyCompany名称,并尝试构建,我会收到"应用程序安装失败.无法验证应用程序".(所以我不使用这个帐户).

我必须承认我不明白为什么列出MyName和MyCompany名称以及它们之间的区别.我不明白xcode正在创建什么,如果我可能需要下载一些证书或xcode使用的东西.

我还使用cordova来创建应用程序.

ad-hoc-distribution ios

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

尝试在c#中设置作为类属性的数组值时出错

object reference is required for the non-static field, method, or property

我在我的代码中遇到上述错误,我无法弄清楚为什么(有许多类似的问题,但我读过的所有内容似乎都与我有关).

class Program
{
    static void Main(string[] args)
    {

        VenueMappings venueMappings = new VenueMappings();
        var venue1 = new Venue
        {
            ExtEventNo = 1,
            UsiVenue = "building1",
        };

        VenueMappings.venues[0] = venue1;
    }
}

public struct Venue
{
    public int ExtEventNo;
    public String UsiVenue;
};


public class VenueMappings
{
    public Venue[] venues = new Venue[2];  
};
Run Code Online (Sandbox Code Playgroud)

c#

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

延迟后调用方法(带参数)

我想将一个变量传递给一个在延迟后运行的函数.我已经看到了关于如何做到这一点的类似问题(见下文).我不认为这是我想要的,因为我每次method1被调用,附加的匿名函数的数量增长?我需要做的是删除任何现有的附加匿名函数,然后再添加新函数.但我不认为这是可能的.有没有办法在延迟后调用方法,但每次都传入一个新的变量值?

using System.Timers;

myTimer = new Timer();
myTimer.Interval = 3000;
myTimer.AutoReset = false;

public void method1(int var1){
    myTimer.Elapsed += delegate { doSomething(var1); };
    myTimer.Start();
}

public void doSomething(int arg1){...}
Run Code Online (Sandbox Code Playgroud)

UPDATE

基本上每当method1运行时,我想要在3秒后发生一些事情,我需要传递一个每次都可能变化的参数.

我不认为我可以使用字段来存储变量,因为method1可能在第一个计时器到期之前多次调用.即可能有几个qued up.例如,在某个时间点,'doSomething'等待发生的问题可能是......

doSomething(3)
doSomething(7)
doSomething(1)
Run Code Online (Sandbox Code Playgroud)

它仅用于测试平台,method1运行时间不超过50次.我想要确保的是每个doSomething(var1)只调用一次而不是每3秒调用一次.即doSomething每次调用时只有一个method1被调用.

这是一个Windows控制台应用程序.

c#

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

静态类中的静态构造函数没有返回类型但是获取错误"方法必须具有返回类型"

我认为我不能正确理解静态构造因为我得到错误"方法必须有一个返回类型" DutLog,但它是一个静态构造函数,因此它不应该有一个返回类型?

static public class DutLog
{

    static public String m_var1;

    static Dutlog()
    {
        Console.WriteLine("DutLog() - constructor");
        m_var1 = "hello";
    }


}
Run Code Online (Sandbox Code Playgroud)

c#

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