zoukankan      html  css  js  c++  java
  • .net与java建立WebService再互相调用

    A: .net建立WebService,在java中调用。

    1.在vs中新建web

    image

    简单修改一下Service.cs的[WebMethod]代码:

    using System; 
    using System.Web; 
    using System.Web.Services; 
    using System.Web.Services.Protocols;

    [WebService(Namespace = "http://tempuri.org/")] 
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
    public class Service : System.Web.Services.WebService 

        public Service () {

            //如果使用设计的组件,请取消注释以下行 
            //InitializeComponent(); 
        }

        [WebMethod] 
        public string netSayHi(String name) { 
            return "你好!"+name; 
        } 
    }

    可以运行看一下是否创建成功。

    2.新建另一个网站,目的:得到wsdl文件。

    image

    image

    3.添加Web引用

    image

    image

    image

    4、到这里,目的就达到了——产生了我们所要的wsdl文件。

    image

    5、在MyEclipse中新建一个Java项目。

    image

    6、将刚才在.net中做好的的那个Service.wsdl文件复制到src下,新建一个New WebService Client

    image

    image

    如上图提示错误,不必理会,直接Finish。

    6.此时会自动生成org.tempuri这个包及下面的文件,找到ServiceClient.java文件双击。

    image

    7.修改其下的main方法,其实也就是写一句代码而已。

    public static void main(String[] args) { 
            ServiceClient client = new ServiceClient(); 
            ServiceSoap service = client.getServiceSoap(); 
            System.out.println(service.netSayHi("坏蛋!")); 
        }

    运行测试一下,一般会成功的了!

    B.java建立wsdl文件,.net调用。

    1、新建一个Web Project,新建一个接口及对应的实现类;

    image

    package com.yenange.ws;

    public class Teacher implements ITeacher { 
        public String javaSayHi(String name) { 
            return "大家好,我是"+name+"老师"; 
        } 
    }

    2、添加Web Service支持包。

    image

    3、修改services.xml这个配置文件。


    http://xfire.codehaus.org/config/1.0"> 

        javaws 
        com.yenange.ws 
        com.yenange.ws.ITeacher 
        com.yenange.ws.Teacher 

    4、测试一下java建立的webService是否成功。

    http://localhost:8080/javaWS/services/javaws?wsdl

    在IE中点击菜单另存为a.wsdl文件。放在d:/下。

    5、以下步骤是将a.wsdl文件转化为a.dll文件;

    6、在开始菜单中进入Visual Studio 2005的命令提示。

    image

    7、输入以下命令:

    将a.wsdl文件 转换成a.cs 
    D:/>wsdl /n:xyz /out:a.cs a.wsdl   

    其中,/n:xyz 表示 命名空间namespace为xyz

    将 a.cs转换成 a.dll 
    D:/>csc /out:a.dll /t:library a.cs

    image

    8.在vs中新建一个ASP.net网站,在Default.aspx中拉入一个Label。

    9.添加引用,将前面产生的a.dll引入进来。

    image

    image

    10.在Default.aspx.cs中写测试代码:

    protected void Page_Load(object sender, EventArgs e) 
       { 
           xyz.javaws ws=new xyz.javaws(); 
           this.Label1.Text = ws.javaSayHi("何月"); 
       }

    11.运行,应该没有问题了。
     
  • 相关阅读:
    How does “void *” differ in C and C++?
    Can we use function on left side of an expression in C and C++?
    apache配置局域网访问
    apache以天为单位生成日志
    尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
    IIS 处理程序“PageHandlerFactory-Integrated”
    IIS无法识别的属性targetFramework
    php开启短标签支持
    Notepad++配色方案
    vim常用操作整理
  • 原文地址:https://www.cnblogs.com/lezhou2014/p/3951344.html
Copyright © 2011-2022 走看看