我必须连接到第三方Web服务,该服务不提供wsdl或asmx.该服务的URL只是http://server/service.soap
我已经阅读了有关原始服务调用的这篇文章,但我不确定这是否是我正在寻找的.
此外,我已经要求wsdl文件,但被告知没有(并且不会).
我正在使用带有.net 2.0的C#,并且无法升级到3.5(所以还没有WCF).我认为第三方正在使用java,因为这是他们提供的示例.
提前致谢!
更新浏览网址时获取此响应:
<SOAP-ENV:Envelope>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>
Cannot find a Body tag in the enveloppe
</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Run Code Online (Sandbox Code Playgroud) 要连接到第三方服务,我需要制作一个Https Post.其中一个必备条件是发送自定义内容类型.
我正在使用WebClient,但我找不到如何设置它.我已经尝试创建一个新类并重写CreateRequest方法,但这会导致请求崩溃.
有没有办法做到这一点,而无需重写CopyHeadersTo方法?
提前致谢
编辑 CopyHeaderTo是我使用.NET Reflector看到的一种方法.它从GetWebRequest中取消,并从私有属性设置所有请求标头,包括Content-Type.
我想从Inno安装脚本中调用.NET DLL(用C#编码)中的函数.
我有:
[文件]
来源:c:\ temp\1\MyDLL.dll; 标志:dontcopy
[码]
function MyFunction():string;
外部'MyFunction @文件:MyDLL.dll stdcall setuponly';
但我仍然收到以下错误:
运行时错误(在-1:0):
无法导入DLL:C:\ DOCUME~1\foo\LOCALS~1\Temp\is-LRL3E.tmp\MyDLL.dll.
我究竟做错了什么?
自从发布以来我一直想尝试GAE,但是来自ASP .NET和VS,我找不到我觉得舒服的开发工具.
因为我想用它来熟悉非Microsoft技术,我不关心我使用哪种语言,无论是Java还是Python,再加上对它们中的任何一种都不知道,我希望这是一种很好的形式.介入.
我只想知道开发工具的选项以及在哪里挖掘信息.
而且,当然,如果我成功,我会很高兴听到任何想法走上正轨.
谢谢!
我在Inno Setup的DLL中成功调用了一个函数,但是在返回时我得到一个运行时错误...异常:地址为XXXXXXX的访问冲突.写下地址XXXXXX.
该函数声明为:
function CompleteInstall(szIntallPath: String) : Integer;
external 'CompleteInstall@files:InstallHelper.dll stdcall setuponly';
Run Code Online (Sandbox Code Playgroud)
并呼吁:
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then begin
CompleteInstall('Parm1'); // ExpandConstant('{app}')
end;
end;
Run Code Online (Sandbox Code Playgroud)
如果我将函数更改为不参数,则没有问题.如果我将其更改为采用单个整数参数或将其声明为函数并将函数更改为带有整数参数的void函数,则仍会出现这种情况.
被调用函数除了返回之外什么都不做
__declspec(dllexport) int CompleteInstall(char* szInstallPath)
{
//AfxMessageBox ("Got here" /*szInstallPath*/, MB_OK);
return 1;
}
Run Code Online (Sandbox Code Playgroud) 我在这里问过如何制作https帖子,现在工作正常.现在的问题是如何发送参数,名称查询,这是一个json字符串:
{"key1":"value1","key2":{"key21":"val21"}}
我正在做什么和不行的是:
HttpWebRequest q = (HttpWebRequest)WebRequest.Create(Host + ":" + Port);
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);
q.Method = "POST";
q.ContentType = "application/json";
q.Headers.Add("JSON-Signature", GetFirma(query));
q.Credentials = new NetworkCredential(user,pass);
byte[] buffer = Encoding.UTF8.GetBytes("query=" + query);
q.ContentLength = buffer.Length;
using (Stream stream = q.GetRequestStream())
{
stream.Write(buffer, 0, buffer.Length);
}
Run Code Online (Sandbox Code Playgroud)
但服务器总是回答说没有'查询'参数.有帮助吗?
提前致谢!
我最近遇到了一个加密库的问题,它产生了错误的md5输出.而不是32位数,它返回30.
因为我们不使用单元测试,所以这个问题很难解决...因为我们假设md5字符串是正确的并且在其他地方寻找bug.
这让我意识到单元测试的真正价值(首先是单元测试,之后是tdd).
但我不确定如何充分测试加密方法.您如何获得适当的预期价值?
编辑:谢谢你的答案,我想我没有解释清楚.
问题在于第三方工具产生了糟糕的md5输出.那么,你如何获得断言价值?我知道它一定不能改变,只是我不知道如何从可靠的来源获得它.
不运行命令文件.
ShellExec ('', ExpandConstant ('{src}\dotNetFx40_Client_x86_x64.exe'),'','', SW_SHOW, ewNoWait, ErrorCode);
Run Code Online (Sandbox Code Playgroud)
它只是通过它.
[Files]
Source: C:\Users\User\Documents\Visual Studio 2010\Projects\TrainerRoomSetup\TrainerRoomSetup\Debug\DotNetFX40Client\dotNetFx40_Client_x86_x64.exe; DestDir: {app}; Flags: ignoreversion
Run Code Online (Sandbox Code Playgroud) 有谁知道将mp4文件转换为ogg文件的简单方法?
必须这样做,但没有太多知识,我所能找到的只是程序,而不是示例或库.
提前致谢
c# ×5
.net ×3
inno-setup ×3
asp.net ×1
content-type ×1
cryptography ×1
http-post ×1
https ×1
ide ×1
ihttpmodule ×1
installation ×1
installer ×1
json ×1
ogg ×1
parameters ×1
soap ×1
unit-testing ×1
visual-c++ ×1
web-services ×1
webclient ×1
wsdl ×1