小编dan*_*son的帖子

如何通过Curl和PHP发送SOAP XML?

这已经困扰了我好几天; 我正在尝试通过Curl发送SOAP帖子,但我只是不断收到"无法连接到主机"错误,但是,我真的看不出怎么回事.

我有一个ASP版本,可以使用相同的URL和数据.我认为这只是一个PHP/Curl的事情.

我目前有以下代码(CURLOPT_POSTFIELDS数据是有效的SOAP信封字符串):

$soap_do = curl_init();
curl_setopt($soap_do, CURLOPT_URL,            "https://xxx.yyy.com:517/zzz.asmx" );
curl_setopt($soap_do, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($soap_do, CURLOPT_TIMEOUT,        10);
curl_setopt($soap_do, CURLOPT_RETURNTRANSFER, true );
curl_setopt($soap_do, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($soap_do, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($soap_do, CURLOPT_POST,           true );            
curl_setopt($soap_do, CURLOPT_POSTFIELDS,     '<soap:Envelope>...</soap:Envelope>'); 
curl_setopt($soap_do, CURLOPT_HTTPHEADER,     array('Content-Type: text/xml; charset=utf-8', 'Content-Length: '.strlen('<soap:Envelope>...</soap:Envelope>') ));

if(curl_exec($soap_do) === false)
{                
    $err = 'Curl error: ' . curl_error($soap_do);
    curl_close($soap_do);
    return $err;
}
else
{
    curl_close($soap_do); 
    return 'Operation completed without any errors';
}
Run Code Online (Sandbox Code Playgroud)

所以任何想法为什么它一直只是错误?

ASP版本运行正常!代码是:

Set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP")
xmlhttp.Open "POST","https://xxx.yyy.com:517/zzz.asmx"
xmlhttp.setRequestHeader "Content-Type", "text/xml; …
Run Code Online (Sandbox Code Playgroud)

php xml curl soap

34
推荐指数
2
解决办法
8万
查看次数

列表基于另一个列表排序

我有两个通用的列表对象,其中一个包含id和排序,另一个是一堆id,第二个列表中的每个id都有一个id引用第一个列表,例如;

public class OptionType
{
    public int ID { get; set; }
    public int Ordering { get; set; }
}

public class Option
{
    public int ID { get; set; }
    public int Type_ID { get; set; }
}   
Run Code Online (Sandbox Code Playgroud)

显然,我可以通过这样做对OptionTypes列表进行简单的排序

types_list.OrderBy(x => x.Ordering);
Run Code Online (Sandbox Code Playgroud)

问题是,我怎么能通过利用对象上的'Type_ID'来排序'options_list',这与types_list的排序有关.就像在某种类似的东西(显然这是无效的 - 但希望你会得到这个想法!)

options_list.OrderBy(x => x.Type_ID == types_list.OrderBy(e => e.Ordering));
Run Code Online (Sandbox Code Playgroud)

c# linq sorting

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

jQuery选择所有子复选框

首先,我只想说我对jQuery毫无希望.

我正在查看此处帖子中的一些代码,这些代码选择每个父复选框(并且有效):

$(function() {
  $(":checkbox").change(function () {
    $(this).parents().children(':checkbox').attr('checked', this.checked);
  });
});
Run Code Online (Sandbox Code Playgroud)

我们使用树视图结构<ul> <li>,每个<li>都有一个复选框.我想做与上面相反的操作,并在所有子复选框上执行相同的复选框选择.

任何人都可以修改上面这样做吗?

请注意我们使用的是剃须刀,每个复选框都是@ Html.CheckboxFor,因此输出结果如下:

<input name="Survey.Buildings[0].IsSelected" type="checkbox" value="true" checked="checked" data-val="true" data-val-required="The Selected? field is required." id="Survey_Buildings_0__IsSelected" />
<input name="Survey.Buildings[0].IsSelected" type="hidden" value="false" />
Run Code Online (Sandbox Code Playgroud)
  • 编辑2:

好的我已经修复了HTML,结构现在看起来像:

<ul>
    <li> Cbx1
        <ul>
            <li> Cbx 2 </li>
        </ul>
    </li>
    <li> Cbx3 </li>
    <li> Cbx4   
        <ul>
            <li> Cbx 5 </li>
            <li> Cbx 6 </li>
        </ul>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

因此,如果选中Cbx4,则会检查Cbx5和6,如果未选中,则将取消选中它们

非常感激

安迪

jquery

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

Event.keyCode不能与'on input'一起使用 - 未定义

目前我正在为项目开发一个功能,而event.keyCode出现对"on input"触发器不起作用.我正在使用Google Chrome 31和jQuery 1.10.2.

这是我在我的方法中尝试的内容:

input.on('input', function(event){
    console.log("event.charCode: " + event.charCode);
    console.log("event.keyCode: " + event.keyCode);
    console.log("event.which: " + event.which);
    console.log("window.event ? event.keyCode : event.which: " + window.event ? event.keyCode : event.which);
});
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我得到undefined了所有这些方法.我做错了什么或这是一个jQuery/Javascript问题?在这里你可以找到小提琴.

当用户在其中粘贴内容或以任何方式更改输入内容时,我希望我的输入触发.

ps:我的方法按预期工作,唯一不起作用的是......这个.

javascript jquery events input

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

单元测试垃圾收集

问题一旦测试完成,
单元测试是否通过垃圾收集(System.IO.Stream在我的情况下)自动处理资源,或者是否处于打开/使用状态,需要处理IDisposable对象?

上下文/信息
我正在对使用a的文件上传器进行单元测试System.IO.Stream.
我已经HttpPostedFileBase使用由a驱动的文件的InputStream进行了Moq System.IO.MemoryStream,这一切都按预期工作.

我目前有(为简洁起见):

[TestMethod]
public void TestUpload()
{
  var stream = FunctionCreatingTheMemoryStream();
  try
  {
    var file = new Mock<HttpPostedFileBase>();
    file.Setup(f => f.FileName).Returns("test.txt");
    file.Setup(f => f.InputStream).Returns(stream);  
    MethodThatUsesTheStream(file.Object)  
    // rest of test code with Assert
  }
  finally
  {
    stream.Dispose();
  }
}
Run Code Online (Sandbox Code Playgroud)

问题MemoryStream是创建的实例:

var stream = new FunctionCreatingTheMemoryStream();
Run Code Online (Sandbox Code Playgroud)

是否值得在此之后放置任何代码try catch然后在finally语句中处理流,或者将其作为单元测试,是否会自动处理内存流?

所以有必要这样做,或者它可能只是:

[TestMethod]
public void TestUpload()
{
   var stream = FunctionCreatingTheMemoryStream();
   var file = …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing mstest moq

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

jQuery/Javascript多数组合

我一直试图找到解决方案,但无济于事.我想要实现的目标是能够找到多个列表的所有独特组合.所以,假设我有3个复选框列表(但这是现实应用程序中的未知数字),颜色,大小,包大小.列表中的项目将是unqiue.

[0] => ['blue', 'green']
[1] => ['small', 'medium', 'large']
[2] => ['Pack Of 6', 'Pack Of 8']
Run Code Online (Sandbox Code Playgroud)

我想要" 蓝色,小号,6件装 "," 蓝色,中号,6件装 "," 蓝色,大号,6件装 "," 蓝色,小号,8件装 "," 蓝色,中号,包装8 "等.订购并不重要,但将其逻辑分组会很好.

我已经使用jQuery将列表拉入数组:

       options = [];

       jQuery('.option-types').each(function(){
            opts = [];
            jQuery('input:checked', this).each(function(){
                opts.push(jQuery(this).next().text());
            });
            options.push(opts)
        });
Run Code Online (Sandbox Code Playgroud)

如果有一个递归的功能路径来回答这个是理想的,就像我说的那样,列表的数量可以是任何东西,以及列表的内容.

希望你们和女孩们可以提供帮助,这是我的头脑.

干杯 - 丹

javascript jquery

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

ASP.NET DropDownList SelectedIndex不会更改第一个元素

我曾经认为我的c#编程并不是太糟糕,但今天我正在认真地质疑我的头脑,这么小的东西正在打败我......

我试图让DropDownList表现出来,但我们今天没有开始.我在ascx控件中有一个简单的DropDownList,它被动态加载到aspx页面中

<asp:DropDownList ID="ddl_SortBy" runat="server" AutoPostBack="true">             
  <asp:ListItem Value="0">Sort Alphabetically A to Z</asp:ListItem>
  <asp:ListItem Value="1">Sort Alphabetically Z to A</asp:ListItem>
</asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)

和一些代码背后..

    private short SortBy = 0;

    protected void Page_Load(object sender, EventArgs e)
    {
        this.ddl_SortBy.SelectedIndex = -1;
        this.ddl_SortBy.SelectedIndexChanged += new EventHandler(ddl_SortBy_SelectedIndexChanged);

        if (!IsPostBack)
            SearchDirectory();
    }

    public void ddl_SortBy_SelectedIndexChanged(object sender, EventArgs e)
    {
        SortBy = Convert.ToInt16(this.ddl_SortBy.SelectedItem.Value);
        SearchDirectory();
    }
Run Code Online (Sandbox Code Playgroud)

我永远无法获得第一个触发所选索引更改事件的项 - 因为未调用SearchDirectory()函数.我可以理解,可能的情况是,当控件加载第一个项目IS时,所以在选择时,索引实际上并没有改变.

我已经尝试将所选项目索引设置为-1,并在页面加载时设置ClearSelection(),但没有运气.

有任何想法吗?谢谢

c# asp.net

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

SQL Server日期检查基于输入

这个问题困扰了我很多次,我现在决定尝试为它找到合适的解决方案,而不是我总是回复的冗长/肮脏/可怕的方式(复制sql语句)

该表有一个日期列,默认值为NULL

现在我需要做的是将值(-1,0,1)传递给sql语句,该语句确定要撤回的内容

-1 - should bring back all rows
0  - should bring back rows with a NULL date value
1  - should bring back rows with a valid date value
Run Code Online (Sandbox Code Playgroud)

我尝试过使用CASE语句,但逻辑运算符需要根据传递给查询的值进行更改.

让我们只需调用表格引号和列完成,所以......

CREATE TABLE 'Quotes'
(
    completed DATETIME default(NULL)
)
Run Code Online (Sandbox Code Playgroud)

解决方案需要适用于SQL Server 2000,并且我在存储过程中工作而不是动态SQL.所以它真的需要在一个声明中.


谢谢丹

database sql-server sql-server-2000

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