就他吧-9ta8为您提供:身份证查询、15位转16位身份证,手机号码归属地查询,IP地址查询服务,城市天气预报查询,列车时刻表简易快速查询等等查询服务,就他吧欢迎您的光临!!
随笔-96  评论-660  文章-7  trackbacks-99
        前几天公司和别的网站合作,对方用Java的WebService给我们做了一个接口,我觉着既然是WebService,不管是用什么语言编写的,在asp.net工程中添加Web引用都应该得到WebService的一个代理类的。
操作步骤:
1.新建一个asp.net Web 应用程序
2.添加web引用,如图



3.在工程中多了一个名叫Web References得目录,代理类就在这里存放着
4.单击工程中的解决方案资源管理器中的显示所有文件,这是就可以看到那个代理类了,名字叫Reference.cs

        上述工作进行得非常顺利,去沏了一杯茶,回来该调用接口了,但是此时意想不到的终于发生了,居然接口没有在代理类中显示出来,这样的话那怎么调用啊,我认为他的WebService肯定是有问题,于是就电话和对方沟通,他们说没有问题,用Java调用是没有问题的,我们都测试过的。我还是郁闷,于是就静下来想了想,觉着他们的WebService不是标准的WebService,于是又给他们打电话,要求他们把程序检查一下,看是不是标准的WebService,于是他们不耐烦地检查了一下程序,问题终于出现了,就是他们的WebService写的不是很标准的,但是哪儿的问题我没有过问。

        把刚才的删除,又重新添加了一遍Web引用,这时,再看生成的代理类,OK,接口全部有了。

        这里把生成的代理类代码给大家贴出来:
//------------------------------------------------------------------------------
// <autogenerated>
//     This code was generated by a tool.
//     Runtime Version: 1.1.4322.573
//
//     Changes to this file may cause incorrect behavior and will be lost if 
//     the code is regenerated.
// </autogenerated>
//------------------------------------------------------------------------------

// 
// 此源代码是由 Microsoft.VSDesigner 1.1.4322.573 版自动生成。

// 
namespace JavaWebService {
    
using System.Diagnostics;
    
using System.Xml.Serialization;
    
using System;
    
using System.Web.Services.Protocols;
    
using System.ComponentModel;
    
using System.Web.Services;
    
    
    
/// <remarks/>
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute(
"code")]
    [System.Web.Services.WebServiceBindingAttribute(Name
="VChargeBinding", Namespace="http://csdfsn.esfig/javaservice")]
    
public class VChargeService : System.Web.Services.Protocols.SoapHttpClientProtocol {
        
        
/// <remarks/>
        public VChargeService() {
            
this.Url = "https://www.csdfsn.cn/cma/javaService?wsdl";
        }

        
        
/// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace="http://csdfsn.esfig/javaservice", ResponseNamespace="http://csdfsn.esfig/javaservice")]
        [
return: System.Xml.Serialization.SoapElementAttribute("result")]
        
public string doservice(string String_1) {
            
object[] results = this.Invoke("doservice"new object[] {
                        String_1}
);
            
return ((string)(results[0]));
        }

        
        
/// <remarks/>
        public System.IAsyncResult Begindovcharge(string String_1, System.AsyncCallback callback, object asyncState) {
            
return this.BeginInvoke("doservice"new object[] {
                        String_1}
, callback, asyncState);
        }

        
        
/// <remarks/>
        public string Enddoservice(System.IAsyncResult asyncResult) {
            
object[] results = this.EndInvoke(asyncResult);
            
return ((string)(results[0]));
        }

        
        
/// <remarks/>
        [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace="http://csdfsn.esfig/javaservice", ResponseNamespace="http://csdfsn.esfig/javaservice")]
        [
return: System.Xml.Serialization.SoapElementAttribute("result")]
        
public string docheck(string String_1) {
            
object[] results = this.Invoke("docheck"new object[] {
                        String_1}
);
            
return ((string)(results[0]));
        }

        
        
/// <remarks/>
        public System.IAsyncResult Begindocheck(string String_1, System.AsyncCallback callback, object asyncState) {
            
return this.BeginInvoke("docheck"new object[] {
                        String_1}
, callback, asyncState);
        }

        
        
/// <remarks/>
        public string Enddocheck(System.IAsyncResult asyncResult) {
            
object[] results = this.EndInvoke(asyncResult);
            
return ((string)(results[0]));
        }

    }

}


        可以看到,这个代理类和引用.net的WebService生成的代理类没有什么区别,此时下面的工作就和用.Net的WebService就一样了

        在此说明一下生成代理类还可以使用其它的方法,如wsdl等,最后的结果都是一样的。
posted on 2005-08-10 12:33 振河 阅读(10523) 评论(18)  编辑 收藏 网摘 所属分类: Web and Windows Service

评论:
#1楼  2005-08-10 13:05 | James      
标准性的东西当然是一样的了。
  回复  引用  查看    
#2楼  2005-08-10 13:06 | flyarror [未注册用户]
找了好久了,收藏
  回复  引用    
#3楼  2005-08-10 13:07 | 振河      
在这之前,我怎么都没有找到这样介绍的文章,呵呵
  回复  引用  查看    
#4楼  2005-08-10 14:13 | f [未注册用户]
laji
  回复  引用    
#5楼  2005-08-10 14:17 | Microshaoft      
.Net 的 java web service client side 没啥特殊的!
你应该讲一讲 java webservice server side 配置:
axis + tomcat/resin 之类的

http://blog.csdn.net/playyuer/archive/2005/03/01/306360.aspx
  回复  引用  查看    
#6楼  2005-08-10 14:42 | 振河      
不好意思啊,Microshaoft!没有研究过Java webservice server side
  回复  引用  查看    
#7楼  2005-08-10 15:24 | fzx [未注册用户]
请教是否遇到中文问题。通过Java Web Service传递中文字符串到.net客户端,接收到的是乱码。我们一直无法解决。
  回复  引用    
#8楼  2005-08-10 15:28 | 振河      
可以通过编码或加密解密的方式解决这个问题
  回复  引用  查看    
#9楼  2005-08-10 16:52 | xiangdn [未注册用户]
你们数据集怎么传得?
比如你的client需要从Server上读取一个列表的数据
你用什么方法来接受?
自己定义xml?
还是对象数组?
  回复  引用    
#10楼  2005-08-10 17:43 | 振河      
传递XML的
  回复  引用  查看    
#11楼  2005-12-14 14:01 | 玉开      
我在调用时,将url粘贴到web引用的地址栏上面,点转到,出现了这个错误,不知道为什么?
URI http://h50236.www5.hp.com/FavoriteURLService/services/FavoriteURL?wsdl">http://h50236.www5.hp.com/FavoriteURLService/services/FavoriteURL?wsdl 处的文档未被识别为已知的文档类型。
各已知类型的错误信息可能有助于修复该问题:
- 来自“system.web.services.discovery.schemareference”的报告是“应为架构根。请确保根元素是 <schema>,并且命名空间为“http://www.w3.org/2001/XMLSchema”(对于 XSD 架构)或“urn:schemas-microsoft-com:xml-data”(对于 XDR 架构)。 , (2, 2)处发生了错误。”。
- 来自“system.web.services.discovery.contractreference”的报告是“XML 文档(2, 1285)中有错误。”。
- 未定义命名空间前缀“tns3”。
- 来自“system.web.services.discovery.discoverydocumentreference”的报告是“未能在 URL http://h50236.www5.hp.com/FavoriteURLService/services/FavoriteURL?wsdl">http://h50236.www5.hp.com/FavoriteURLService/services/FavoriteURL?wsdl 处找到发现文档。”。
- 无法识别此文档格式。
  回复  引用  查看    
#12楼  2006-04-21 17:19 | 初学Web Service [未注册用户]
请问哪位大虾有Java 做的Web Service公网上发布的Web Service ?或直接告诉我网址.想通过.net调用Java编写的Web Service .
  回复  引用    
#13楼  2006-05-19 14:25 | Cronell [未注册用户]
哪位大虾能给一个传送xml的例子啊,心急如焚
  回复  引用    
#14楼  2006-05-24 15:16 | ryan1111111 [未注册用户]
我想要个详细的例子,使用代理类的例子。谢谢了 ~~~
liyan6656@hotmail.com
  回复  引用    
#15楼  2006-11-02 10:47 | jian [未注册用户]
如果JAVAweb服务带了SOAPHEADER那怎么调,在.NET程序中根本不能看到头信息
  回复  引用    
#16楼  2007-02-06 09:36 | anseldu [未注册用户]
我就遇到了JAVAweb服务带了SOAPHEADER的问题,不知道谁熟悉这块
  回复  引用    
#17楼  2007-08-28 09:58 | yunhuasheng      
楼主好,
你说的问题是他们那边java的webservice不是很标准,要是标准的话,一般就没问题吗?
  回复  引用  查看    
#18楼  2008-12-01 11:53 | 小伦      
收藏了,谢谢楼主~
  回复  引用  查看    




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2005-08-10 14:46 编辑过
Google站内搜索
[推荐职位]上海盛大网络招聘架构师

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接:
 

  就他吧-9ta8伴您开心每一天