问题列表 - 第7007页

从 WSE 3.0 客户端请求中删除 WS-Addressing/WS-Security 部分

我有一个使用 WSDL.exe 创建的简单 C# Web 服务代理类。我正在调用远程 Web 服务上的一个方法,它包括一堆我不想要的 WS-Addressing 和 WS-Security 标头(并且服务器正在窒息)。这是原始肥皂请求的示例:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" 
  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">
  <soap:Header>
    <wsa:Action></wsa:Action>
    <wsa:MessageID>urn:uuid:22f12267-b162-4703-a451-2d1c5c5a619b</wsa:MessageID>
    <wsa:To>http://example.com/wstest</wsa:To>
    <wsse:Security>
      <wsu:Timestamp wsu:Id="Timestamp-5c9f0ef0-ab45-421d-a633-4c4fad26d945">
        <wsu:Created>2009-04-15T16:27:25Z</wsu:Created>
        <wsu:Expires>2009-04-15T16:32:25Z</wsu:Expires>
      </wsu:Timestamp>
    </wsse:Security>
  </soap:Header>
  <soap:Body>
    <Func1 xmlns="http://example.com">
      <arg_1 xmlns="">blah</arg_1>
      <arg_2 xmlns="">blah2</arg_2></arg_2>
    </Func1>
  </soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)

我不关心 WS-Addressing/WS-Security 的东西。我没有做任何事情来包含它。.NET WSE 3.0 包似乎默认添加它们。有没有办法摆脱这些?我在代理对象上看不到任何允许我删除这些部分的属性。我试过了:

proxyObject.Addressing.Clear();
proxyObject.Security.Clear();
Run Code Online (Sandbox Code Playgroud)

当我调用我的 Web 服务方法时,这些会导致空引用异常。

我希望 SOAP 请求如下所示:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Header>
  </soap:Header>
  <soap:Body>
    <Func1 xmlns="http://example.com">
      <arg_1 xmlns="">blah</arg_1>
      <arg_2 xmlns="">blah2</arg_2></arg_2>
    </Func1>
  </soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)

提前致谢

c# web-services wse3.0

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

如何为Perl的localtime()设置时区?

在Perl中,我想在特定时区查找本地时间.我一直在使用这种技术:

$ENV{TZ} = 'America/Los_Angeles';
my $now = scalar localtime;
print "It is now $now\n";
# WORKS: prints the current time in LA
Run Code Online (Sandbox Code Playgroud)

但是,这是不可靠的 - 特别是,如果我在设置$ ENV {TZ}之前添加另一个localtime()调用,它会中断:

localtime();
$ENV{TZ} = 'America/Los_Angeles';
my $now = scalar localtime;
print "It is now $now\n";
# FAILS: prints the current time for here instead of LA
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

perl

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

从javabean创建不可变对象

我参与了这个项目,我们正在构建大量的遗留代码.我有一个关于一个大的java bean对象的特殊情况,它必须通过线路传输.所以我的第一个想法就是让它变得不可变和可序列化.这点我面临一些困难的选择: -

  1. 理想情况下,我想要一些方法来自动生成此类的不可变,可序列化版本.我没有以任何方式重构或改变这个类的范围,我真的很讨厌必须复制粘贴具有不同名称的类?

  2. 假设我放弃了1即我实际上选择复制巨大的javabean类的代码,我仍然会处于一个令人讨厌的情况,即必须编写一个带有20-25个参数的构造函数才能使这个类不可变.除了构造函数注入之外,什么是使类不可变的更好方法?

感谢致敬,

java immutability javabeans

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

如何测试Web服务器的速度?

我们的网站似乎比以前慢了,我该如何测试呢?有没有办法找到原因?(例如游客太多).

谢谢.

testing shared-hosting bandwidth

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

设置针对x86和x64?

我有一个程序需要x64和x86 dll(它在运行时确定它需要哪些),但在尝试创建设置时,它会抱怨:

文件AlphaVSS.WinXP.x64.dll"定位'AMD64’是不是个项目的目标平台兼容'86’
文件AlphaVSS.Win2003.x64.dll"定位'AMD64’是不是个项目的目标平台'86’兼容的
文件AlphaVSS .Win2008.x64.dll'目标'AMD64'与该项目的目标平台'x86'不兼容

如何让我的设置目标同我的程序一样?

c# installation cpu-architecture

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

为什么局部变量必须具有初始值

为什么我必须在方法内初始化变量?

int test1; // Not initialized, but ok

public int Foo()
{
   int test2;                 // Not initialized

   int test3 = test1;         // Ok
   int test4 = test2;         // An error
}
Run Code Online (Sandbox Code Playgroud)

c#

7
推荐指数
2
解决办法
2701
查看次数

网络数据包有效负载数据应该在适当的边界上对齐吗?

如果您将以下类作为网络数据包负载:

class Payload {char field0; int field1; char field2; int field3; };

在通过套接字接收数据时,使用像Payload这样的类是否会使数据的接收者容易出现对齐问题?我认为该类要么需要重新排序,要么添加填充以确保对齐.

要么重新排序:

class Payload
{
    int  field1;
    int  field3;
    char field0;
    char field2;
};
Run Code Online (Sandbox Code Playgroud)

或添加填充:

class Payload
{
    char  field0;
    char  pad[3];
    int   field1;
    char  field2;
    char  pad[3];
    int   field3; 
};
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因重新排序没有意义,我认为添加填充将是首选,因为它会避免对齐问题,即使它会增加类的大小.

您对网络数据中的这种对齐问题有什么经验?

c c++ sockets network-programming payload

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

FormView ConvertEmptyStringToNull和绑定

我正在使用带有ObjectDataSource的FormView并使用<%#Bind("WhateverProp")%>绑定 - 并且我的所有可空列都返回其中的类型的默认值.

看起来FormView对象没有像其他绑定容器那样的ConvertEmtpyStringToNull属性.我发现文章暗示这是VS 2005/.Net 2.0中的一个错误 - 但是没有看到任何说法是什么决议.

有没有人有任何关于如何解决这个问题的建议,而不仅仅是重新捕获ODS_Inserting事件中的所有字段?我宁愿不必编写代码来重新绑定表单上的所有绑定字段,只是为了测试空值.

asp.net data-binding formview objectdatasource .net-3.5

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

Emacs:获得可读的键盘宏

insert-kbd-macro用于保存命名键盘宏时,我得到"不可读"的Lisp代码

(fset 'ppsql
   (lambda (&optional arg) "Keyboard macro." (interactive "p") (kmacro-exec-ring-item (quote ([134217788 134217765 44 return 44 17 10 return 33 134217765 102 102 backspace 114 111 109 return 17 10 102 111 109 backspace backspace 114 111 return 33] 0 "%d")) arg)))
Run Code Online (Sandbox Code Playgroud)

我宁愿有类似以下的东西:

(fset 'move-line-down
      [?\C-a ?\C-k delete down ?\C-y return up])
Run Code Online (Sandbox Code Playgroud)

IIRC我用同样的方法来记录,名称,同时插入键盘宏:F3,F4,name-last-kbd-macro.

是否可以以可读格式获取第一个宏?

lisp keyboard emacs macros

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

如何在C中使用系统调用创建一个Linux等效的"nl"命令?

我有一个练习要做我需要用C编码的代码,相当于catnl的命令只使用系统调用.给我们的系统调用是open(),close(),read()和write().

我已经完成了"猫"等效,它似乎运行正常,现在我需要做"nl"一个,但我遇到麻烦,我将如何逐行编写.

我们的想法是使用尽可能少的系统调用.

我知道我需要在缓冲区找到'\n',我可以做一段时间循环缓冲区并找到'\n'位置(让我们称之为X)然后将X个字节写入stdout.

但循环遍历缓冲区中的所有字符搜索行的末尾对我来说感觉不对,但我不知道我怎么能这样做...

重要编辑:
我想你们中有些人错过了我的问题......我不需要解释如何做到这一点,这不是我的问题.我知道该怎么做(或者有一个非常好的主意,我还没有尝试过)."问题"是,它感觉不对遍历缓冲区,文件也好,都烧焦成炭,找到行的末尾(无论怎样).我不是说这不是答案,或者我不允许这样做,我只是在谈论我的想法.这似乎是一种奇怪的方式,这就是全部......但如果就是这样,那就是我的问题的答案.

我很欣赏每个人的帮助:)

c linux system-calls

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