http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 10107|回复: 14

[咨询站长] 调用WEBSERVICE接口加密问题

[复制链接]
发表于 2016-8-24 17:42:50 | 显示全部楼层 |阅读模式
QQ图片20160824174038.png
[C#] 纯文本查看 复制代码
//------------------------------------------------------------------------------
// <auto-generated>
//     此代码由工具生成。
//     运行时版本:4.0.30319.42000
//
//     对此文件的更改可能会导致不正确的行为,并且如果
//     重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Serialization;
using Microsoft.Web.Services3;
// 
// 此源代码由 wsdl 自动生成, Version=4.0.30319.1。
// 


/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Web.Services.WebServiceBindingAttribute(Name="LISServiceSoap", Namespace="http://tempuri.org")]
public partial class LISService : WebServicesClientProtocol//System.Web.Services.Protocols.SoapHttpClientProtocol 
{
    
    private System.Threading.SendOrPostCallback GetDataOperationCompleted;
    
    /// <remarks/>
    public LISService() {
        this.Url = "http://194.1.4.16:57772/csp/lis2//LIS.WS.DHCLISService.cls";
    }
    
    /// <remarks/>
    public event GetDataCompletedEventHandler GetDataCompleted;
    
    /// <remarks/>
    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/LIS.WS.DHCLISService.GetData", RequestNamespace="http://tempuri.org", ResponseNamespace="http://tempuri.org", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
    public string GetData(string ClassName, string FuncName, string Param, string Session) {
        object[] results = this.Invoke("GetData", new object[] {
                    ClassName,
                    FuncName,
                    Param,
                    Session});
        return ((string)(results[0]));
    }
    
    /// <remarks/>
    public System.IAsyncResult BeginGetData(string ClassName, string FuncName, string Param, string Session, System.AsyncCallback callback, object asyncState) {
        return this.BeginInvoke("GetData", new object[] {
                    ClassName,
                    FuncName,
                    Param,
                    Session}, callback, asyncState);
    }
    
    /// <remarks/>
    public string EndGetData(System.IAsyncResult asyncResult) {
        object[] results = this.EndInvoke(asyncResult);
        return ((string)(results[0]));
    }
    
    /// <remarks/>
    public void GetDataAsync(string ClassName, string FuncName, string Param, string Session) {
        this.GetDataAsync(ClassName, FuncName, Param, Session, null);
    }
    
    /// <remarks/>
    public void GetDataAsync(string ClassName, string FuncName, string Param, string Session, object userState) {
        if ((this.GetDataOperationCompleted == null)) {
            this.GetDataOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDataOperationCompleted);
        }
        this.InvokeAsync("GetData", new object[] {
                    ClassName,
                    FuncName,
                    Param,
                    Session}, this.GetDataOperationCompleted, userState);
    }
    
    private void OnGetDataOperationCompleted(object arg) {
        if ((this.GetDataCompleted != null)) {
            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
            this.GetDataCompleted(this, new GetDataCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
        }
    }
    
    /// <remarks/>
    public new void CancelAsync(object userState) {
        base.CancelAsync(userState);
    }
}

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
public delegate void GetDataCompletedEventHandler(object sender, GetDataCompletedEventArgs e);

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetDataCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
    
    private object[] results;
    
    internal GetDataCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
            base(exception, cancelled, userState) {
        this.results = results;
    }
    
    /// <remarks/>
    public string Result {
        get {
            this.RaiseExceptionIfNecessary();
            return ((string)(this.results[0]));
        }
    }
}

站长,为什么会是空?是服务器上配置问题还是本地问题?


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2016-8-24 17:48:27 | 显示全部楼层
表示没看出来usernametake的具体情况,截图不全吧
 楼主| 发表于 2016-8-24 17:58:34 | 显示全部楼层
站长苏飞 发表于 2016-8-24 17:48
表示没看出来usernametake的具体情况,截图不全吧

[C#] 纯文本查看 复制代码
LISService lis = new LISService();
            UsernameToken userToken = new UsernameToken("_system", "sys", PasswordOption.SendPlainText);
            lis.ResponseSoapContext.Security.Tokens.Add(userToken);
 楼主| 发表于 2016-8-25 09:30:57 | 显示全部楼层
求助啊,代码都贴了。@站长苏飞  
 楼主| 发表于 2016-8-25 09:38:35 | 显示全部楼层
站长苏飞 发表于 2016-8-24 17:48
表示没看出来usernametake的具体情况,截图不全吧

大手,我看了一礼拜了,其他接口也是用wsdl下载的soap文档   
其他接口都可以用,一样的用UsernameToken,是不是这个接口生成的文档有问题?能帮我看看么?
发表于 2016-8-25 09:47:20 | 显示全部楼层
kan.zhang-cn 发表于 2016-8-25 09:38
大手,我看了一礼拜了,其他接口也是用wsdl下载的soap文档   
其他接口都可以用,一样的用UsernameToken ...

接口都是自动添加的,不需要生成文档吧,在VS里可以直接添加
另外,你调试的位置这一行还没有执行,为空很正常,执行完之后才能看出来有没有添加吧
 楼主| 发表于 2016-8-25 10:00:03 | 显示全部楼层
站长苏飞 发表于 2016-8-25 09:47
接口都是自动添加的,不需要生成文档吧,在VS里可以直接添加
另外,你调试的位置这一行还没有执行,为空 ...

QQ图片20160825095518.png QQ图片20160825095637.png LISService.cs (4.86 KB, 下载次数: 0)
发表于 2016-8-25 10:25:03 | 显示全部楼层
那说的是这个为空吧
lis.ResponseSoapContext.Security.Tokens
应该是这里需要New对象。具体你看看New一个对象出来再添加
 楼主| 发表于 2016-8-25 12:32:31 | 显示全部楼层
站长苏飞 发表于 2016-8-25 10:25
那说的是这个为空吧
lis.ResponseSoapContext.Security.Tokens
应该是这里需要New对象。具体你看看New一 ...

using System;

namespace Microsoft.Web.Services3
{
    public sealed class ResponseSoapContext
    {
        public static SoapContext Current { get; set; }
    }
}
不能NEW吧。。。。。。
NEW lis.ResponseSoapContext.Security.Tokens?
发表于 2016-8-25 14:56:59 | 显示全部楼层
{ get; set; } 就是表示没有默认值啊,必须要New
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-23 12:02

© 2014-2021

快速回复 返回顶部 返回列表