小编gre*_*les的帖子

使用带有XML主体的PHP创建SOAP调用

我正在尝试使用PHP调用SOAP方法.

这是我得到的代码:

$data = array('Acquirer' =>
  array(
    'Id' => 'MyId',
    'UserId' => 'MyUserId',
    'Password' => 'MyPassword'
  ));
$method = 'Echo';
$client = new SoapClient(NULL,
           array('location' => 'https://example.com/ExampleWebServiceDL/services/ExampleHandler', 
           'uri' => 'http://example.com/wsdl', 'trace' => 1));
$result = $client->$method($data);
Run Code Online (Sandbox Code Playgroud)

这是它创建的请求:

  <?xml version="1.0" encoding="UTF-8"?>
  <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://example.com/wsdl" xmlns:ns2="http://xml.apache.org/xml-soap" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SOAP-ENV:Body>
      <ns1:Echo>
        <param0 xsi:type="ns2:Map">
          <item>
            <key xsi:type="xsd:string">Acquirer</key>
            <value xsi:type="ns2:Map">
              <item>
                <key xsi:type="xsd:string">Id</key>
                <value xsi:type="xsd:string">mcp</value>
              </item>
              <item>
                <key xsi:type="xsd:string">UserId</key>
                <value xsi:type="xsd:string">tst001</value>
              </item>
              <item>
                <key xsi:type="xsd:string">Password</key>
                <value xsi:type="xsd:string">test</value>
              </item>
            </value>
          </item>
        </param0>
      </ns1:Echo>
    </SOAP-ENV:Body> …
Run Code Online (Sandbox Code Playgroud)

php soap

19
推荐指数
2
解决办法
9万
查看次数

从git存储库中删除旧的提交信息以节省空间

我有一个存储库,用于存储一些非常大的二进制文件(tifs,jpgs,pdfs).还有相当数量的文件被创建,删除和重命名,我不关心单个提交历史记录.这个问题有点简化,因为我正在处理一个没有分支而没有标签的存储库.

我很好奇是否有一种简单的方法可以从系统中删除一些历史记录以节省空间.

在git邮件列表上找到了一个旧线程,但它并没有真正指定如何使用它(即$ drop是什么):

git filter-branch --parent-filter "sed -e 's/-p $drop//'" \
        --tag-name-filter cat -- \
        --all ^$drop 
Run Code Online (Sandbox Code Playgroud)

git

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

将Curl客户端ssl移动到Guzzle

我正在使用Guzzle v3.9.2与php 5.3和php 5.5.

我有以下工作curl代码使用ssl客户端证书:

$url = "https://example.com/";
$cert_file = '/path/to/certificate.pem';

$ch = curl_init();
$options = array(
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_URL => $url ,
  CURLOPT_SSLCERT => $cert_file ,
);

curl_setopt_array($ch , $options);
$output = curl_exec($ch);

if (!$output) {
  echo "Curl Error : " . curl_error($ch);
}
else {
  echo htmlentities($output);
}
Run Code Online (Sandbox Code Playgroud)

我试图把它移到Guzzle:

require '/var/www/vendor/autoload.php';
use Guzzle\Http\Client;
$client = new Client();
$request = $client->get($url, array('cert' => $cert_file));
$response = $client->send($request);
echo $response . PHP_EOL;
print 'HI' . PHP_EOL; …
Run Code Online (Sandbox Code Playgroud)

php ssl curl guzzle

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

Git lfs(大文件存储)说lfs管理文件在git lfs pull之后被修改

我有一个使用git-lfs存储一些大文件的存储库的工作副本.我安装了git-lfs二进制文件,但可能没有在工作副本中运行"git lfs install".当我想在添加lfs文件后更新我的本地工作副本时,我执行以下命令:

git pull
git lfs pull
Run Code Online (Sandbox Code Playgroud)

只要添加lfs文件,这样就可以正常工作.然后存储库有一些已修改的lfs文件,当我运行时git pull收到错误消息:

Your local changes to the following files would be overwritten by merge
....
....
Run Code Online (Sandbox Code Playgroud)

它列出了所有将由pull修改的lfs文件.

从那时起,我git lfs install在工作副本内部运行并且它工作正常,但git status仍然列出所有这些文件被修改,并给git pull了我同样的错误.

我的问题基本上是,如果我使用lfs,更新我的工作副本的正确步骤是什么?如何清理这种棘手的情况?

git github git-lfs

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

Keep decimal precision when PowerShell Access.Application Transfertext exports Number column to CSV file

I'm exporting data from Access tables to CSV files using powershell on a Windows 2012 R2 Server. I'd like to do this without modifying the Access database schema and without writing any VBA code in the access database.

The powershell script boils down to something like this:

$Table = 'tblUsers'
$Filepath = 'C:\tblUsers.csv'
$Acc = New-Object -Com Access.Application
$Acc.OpenCurrentDataBase($DBFilePath)
$Acc.DoCmd.Transfertext(2, [Type]::Missing, $Table, $Filepath, 1)
Run Code Online (Sandbox Code Playgroud)

One of the tables has a column with a Number field where the Field Size is …

powershell ms-access export-to-csv

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

如何根据级别(syslog严重性/优先级)在Graylog中查找消息

我将Drupal中的数据存储到syslog中,然后存储到Graylog中.我想根据它们的严重程度找到所有消息(Graylog似乎称之为级别).

这是显示"级别"字段的一些消息的屏幕截图.这些都恰好是通知,但我输入的搜索是在消息字段中找到"通知"一词,而不是在"级别"字段中.

在此输入图像描述

rsyslog graylog2

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

具有不区分大小写文件系统的 MacOS 上的 MySQL 区分大小写表名称

我已经研究了很多并且我理解使数据库表名称敏感,您必须设置变量lower_case_table_names = 0。我在 osX 上。我在 my.cnf 中做了这个改变。在那之后,如果我跑

select * from users
Run Code Online (Sandbox Code Playgroud)

我得到结果。如果我运行:

select * from Users
Run Code Online (Sandbox Code Playgroud)

我收到错误说表不存在。

但是,对于特定的数据库,区分大小写不受影响。我可以使用任何情况,我永远不会收到错误。为什么?我可以查看用于导入数据库的大 sql 文件,并尝试找出是否有忽略大小写敏感的特定指令 (?)。无论如何,为什么您认为区分大小写适用于所有数据库而不是我感兴趣的数据库?区分大小写的其中之一是 InnoDB。而不关心这一点的是 MyIsam。这可能是原因吗?在这种情况下有什么解决办法吗?

mysql macos case-sensitive

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

配置 Composer 以通过 https 从 packagist.org 获取数据

在阻止出站 http 请求的环境中构建文件时,我收到如下错误:

Updating dependencies (including require-dev) The "http://packagist.org/p/provider-2013%ahash.json" file could not be downloaded: failed to open stream: Connection timed out http://packagist.org could not be fully loaded, package information was loaded from the local cache and may be out of date

有没有什么方法可以指示composer使用https连接到packagist?

我在 1.2.0 和 1.6.5 版本的作曲家中都遇到过这个问题。

composer-php packagist

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