我是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之外的服务交互.
有什么想法吗?建议吗?
在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文件中添加一个条目,以便在执行程序时可以读取该条目.
我有一个Delphi应用程序,它连接到Internet上的MySQL发布数据库,地址如mysql01.example.com:3306.
但是,我的客户端计算机位于代理后面,如果我通过代理,我就可以连接.我使用ZeosLib进行连接,它没有代理身份验证.
是否可以使用某种代理转发程序转发到代理的连接?还有其他可能解决这个问题吗?
非常感谢.
我正在开发一本食谱来部署一个简单的基于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) 在使用谷歌分析注册时,需要在其中插入一段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,根据他们的网站,你应该只是将他们的脚本插入你的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) 我有这个查询字符串 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) 有时我的Rails应用程序可能因任何错误而崩溃,并且在生产时访问特定URL时,有人可能会登陆/500.html页面.
一切都很正常.我们可以通过日志查看问题是什么然后修复.但是,为了正确查看页面,我们必须清除浏览器缓存,否则我们会再次重定向到/500.html
反正有没有阻止它?
我在下面描述一个示例工作流:
我们可以在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) 我是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) 我正在研究骆驼线程池并使用池大小和最大池大小。我的理解是每个请求将由一个线程处理,如果请求 > 池大小,将使用最大池大小在池中创建一个新线程。为了确保我的理解,我在 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 应该增加线程并选择文件。
apache-camel ×1
caching ×1
chef-infra ×1
delphi ×1
dns ×1
express ×1
flask ×1
hosts ×1
java ×1
javascript ×1
jquery ×1
mysql ×1
nginx ×1
node.js ×1
nodemailer ×1
php ×1
proxy ×1
soap ×1
symfony ×1
threadpool ×1
twig ×1
uat ×1
zeos ×1