小编Ken*_*ter的帖子

调试PHP SOAP调用

我是SOAP新手并处理一个Web服务,以前似乎没有人使用PHP进行过接口.除了C#之外,他们没有示例代码,但我确实有.eServices.asmx提供了WSDL,如果这是正确的说法.

我得到的错误是"服务器无法识别HTTP标头SOAPAction的值:"使用该训练冒号表示没有传递任何值,也许.

我的代码看起来像这样:

$URL = "http://nolaflash.example.com/xxxWS/eServices.asmx";

$namespace="http://www.example.com/webservices/";

include("SOAP/Client.php");

$soapclient = new SOAP_Client($URL);

$xml_data = // valid XML is here;

$res = $soapclient->UpdateData('usrname','pass',$xml_data);
Run Code Online (Sandbox Code Playgroud)

但我也尝试过:

$param = array('usrname','pass',$xml_data);
$res = $soapclient->call('UpdateData',$param, $namespace);
Run Code Online (Sandbox Code Playgroud)

谷歌搜索表明此错误是命名空间问题.我所拥有的C#代码只有一个命名空间引用:

[System.Web.Services.WebServiceBindingAttribute(Name="eServicesSoap", Namespace="http://www.example.com/webservices/")]
Run Code Online (Sandbox Code Playgroud)

如果我在函数调用之前将$ soapclient转储到屏幕上,我看到它已经从eServices.asmx接收了数据.

我不确定如何调试这个并且服务人员不熟悉与.NET IDE之外的服务交互.

有什么想法吗?建议吗?

php soap

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

android中的主机条目

在Android主机文件中放置主机条目的过程是什么?我们做了以下事情.URL的条目是在Android的hosts文件中使用cmd(文件资源管理器 - >系统 - >等 - >主机)创建的.

127.0.0.1               localhost
xx.xx.xx.xx             www.example.com
Run Code Online (Sandbox Code Playgroud)

有关参考,请访问 http://www.bradcurtis.com/2011/02/13/hosts-file-google-android-emulator/

但是当我们执行程序时,android不会读取主机条目.DNS将获取我们已经在hosts文件中输入的ip.

任何人都可以建议如何在Android的hosts文件中添加一个条目,以便在执行程序时可以读取该条目.

dns hosts uat android-emulator

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

将TCP MySQL连接重定向到代理

我有一个Delphi应用程序,它连接到Internet上的MySQL发布数据库,地址如mysql01.example.com:3306.

但是,我的客户端计算机位于代理后面,如果我通过代理,我就可以连接.我使用ZeosLib进行连接,它没有代理身份验证.

是否可以使用某种代理转发程序转发到代理的连接?还有其他可能解决这个问题吗?

非常感谢.

mysql delphi proxy zeos

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

如何使用应用程序cookbook定义before_symlink回调?

我正在开发一本食谱来部署一个简单的基于jekyll的博客.我使用'application'cookbook作为基础.一切顺利,但厨师只是忽略了我定义的回调.

Chef日志包含有关我的回调的条目,但我看不到回调执行的错误或结果.

这是recipes/default.rb文件:

include_recipe "git"

application "example_com" do
  path "/var/www/example.com"
  repository "git@example.org:xxx/xxx.git"
  revision "master"

  deploy_key <<EOF
-----BEGIN RSA PRIVATE KEY-----
..skip...
-----END RSA PRIVATE KEY-----
EOF

  # before_symlink "script/bootstrap"

  before_deploy do
    # raise
    # Chef::Log.info("INSANE!")
    execute "bundle exec rake generate" do
      cwd release_path
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

以下是chef-client表示执行before_deploy回调的日志:

[2012-10-06T10:06:20-04:00] INFO: Processing ruby_block[example_com before_deploy] action create (/var/cache/chef/cookbooks/application/providers/default.rb line 107)
[2012-10-06T10:06:20-04:00] DEBUG: Got callback before_deploy: #<Proc:0x00007f0509788088@/var/cache/chef/cookbooks/example_com/recipes/default.rb:24>
[2012-10-06T10:06:20-04:00] INFO: application[example_com] running callback before_deploy
[2012-10-06T10:06:20-04:00] INFO: ruby_block[example_com before_deploy] called
[2012-10-06T10:06:20-04:00] INFO: Processing deploy_revision[example_com] action deploy …
Run Code Online (Sandbox Code Playgroud)

chef-infra

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

Flask:如何阻止Google Analytics JS在开发环境中运行?

在使用谷歌分析注册时,需要在其中插入一段js脚本 base.html

<script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

      ga('create', 'xxx', 'example.com');
      ga('send', 'pageview');

    </script>
Run Code Online (Sandbox Code Playgroud)

让它始终存在的问题是,开发机器将提交不是来自真实用户的不必要数据.我想知道是否有办法询问烧瓶是否处于调试模式,因此不首先加载此脚本.

如何在模板中检查调试模式?

google-analytics flask

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

Symfony2 - 将Google Analytics脚本添加到Twig中

我一直在尝试设置Google Analytics,根据他们的网站,你应该只是将他们的脚本插入你的html页面.

我已经在开始标记之后将其添加到我的base.html.twig文件中.然后由layout.html.twig文件扩展,该文件由所有其他页面扩展.

这未显示为从Google Analytics页面安装的内容.标签显示在页面源中并被Ghostery阻止,但它仍然显示为Status: Tracking Not Installed.

我做错了什么,如何正确插入?

根据他们的说明 - 在</head>标签前粘贴:

<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'XX-XXXXXXXX-X', 'example.com');
ga('send', 'pageview');
</script>
Run Code Online (Sandbox Code Playgroud)

base.html.twig

<head>
<script>
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

    ga('create', 'XX-XXXXXXXX-X', 'example.com');
    ga('send', 'pageview');

</script>

<meta charset="UTF-8"/>
<title>{% block title %}{% endblock %}</title>
{% block stylesheets %}
{% endblock %}
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}"/>
</head>
Run Code Online (Sandbox Code Playgroud)

layout.html.twig

{% extends '::base.html.twig'%}
Run Code Online (Sandbox Code Playgroud)

google-analytics symfony twig

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

将一个查询字符串参数解析为Javascript数组

我有这个查询字符串 www.example.com/yy?q=how+can+i+get+this&o=1&source=home

如何q使用javascript或jquery 解析数组中的参数值?

我想要像这样的数组

['how', 'can', 'i', 'get', 'this']
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

Rails 4和Nginx + Passenger的缓存问题

有时我的Rails应用程序可能因任何错误而崩溃,并且在生产时访问特定URL时,有人可能会登陆/500.html页面.

一切都很正常.我们可以通过日志查看问题是什么然后修复.但是,为了正确查看页面,我们必须清除浏览器缓存,否则我们会再次重定向到/500.html

反正有没有阻止它?

我在下面描述一个示例工作流:

  1. 导航到www.whatever.com/order/view/4444
  2. 由于我们的数据/代码存在问题,用户被重定向到www.whatever.com/500.html
  3. 我们查看日志,确定问题并进行修复
  4. 如果我不清除浏览器缓存,尝试导航到www.whatever.com/order/view/4444后,我再次被重定向到/500.html
  5. 如果我清除缓存,一切正常

我们可以在Rails或Nginx配置中做些什么,这样我就不必在更改Rails应用程序后清除浏览器缓存了吗?

nginx.conf

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65; …
Run Code Online (Sandbox Code Playgroud)

caching ruby-on-rails nginx

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

节点邮件程序错误:"不支持的配置,将Nodemailer降级到v0.7.1以使用它"在localhost中

我是nodejs的新手,并尝试从nodemailer模块发送邮件,但它有错误,即" Unsupported configuration, downgrade Nodemailer to v0.7.1 to use it".

这是我的代码: -

var nodemailer = require('nodemailer');
var mailTransport = nodemailer.createTransport('SMTP', {
    service: 'Gmail',
    auth: {
        user: 'xxxxxxxx@gmail.com',
        pass: 'xxxxxxxxx',
    }
});

mailTransport.sendMail({
    from: '"ABC" <info@xxxx.example.com>',
    to: 'abcsss@xxx.example.com',
    subject: 'Test',
    text: 'Thank you for contact.',
}, function (err) {
    if (err)
        console.error('Unable to send email: ' + err);
});
Run Code Online (Sandbox Code Playgroud)

node.js express nodemailer

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

骆驼线程池查询

我正在研究骆驼线程池并使用池大小和最大池大小。我的理解是每个请求将由一个线程处理,如果请求 > 池大小,将使用最大池大小在池中创建一个新线程。为了确保我的理解,我在 POC 下做了。

public class FileMoverRoute extends SpringRouteBuilder {

    @Override
    public void configure() throws Exception {
        CamelContext context = getContext();
        ExecutorService executorService = new ThreadPoolBuilder(context)
                .poolSize(1).maxPoolSize(10).maxQueueSize(100).build("CustomThreadPool");

        from("file://C:/from").log("Received ${body}:${threadName}").threads().executorService(executorService)
                .log("Processing ${body}:${threadName}").process(new FileProcessor()).to("file://C:/to");
    }

}

public class FileProcessor implements Processor{

    public void process(Exchange exc) throws Exception {
        Map<String, Object> headerMap = exc.getIn().getHeaders();
        System.out.println(" sleep for minute");
        TimeUnit.MINUTES.sleep(1);
        System.out.println(" woke up"+headerMap);
    }

}
Run Code Online (Sandbox Code Playgroud)

我在文件处理器中睡了 1 分钟。如果我从文件夹中放入 1 个文件(1.txt),我可以在控制台中看到收到和处理日志。如果将接下来的 2 个文件 (2.txt,3.txt) 文件从文件夹中放入。我可以看到 2 个未处理日志的文件的接收日志。由于我的最大池大小是 10,camel 应该增加线程并选择文件。

  1. 为什么没有在池中创建新线程?
  2. 为什么没有选择新文件?
  3. 如何解决这个问题?

java multithreading apache-camel threadpool

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