Java调用.NET的WebService
1. 基本库
cxf-2.2.4.jar
XmlSchema-1.4.5.jar
Wsdl4j-1.6.2.java
2. 在.NET中编写服务,默认参数即可,如:
namespace TestService2Java
{
[WebService(Namespace = "http://temp2java.org/")] //仅此处稍加修改,不改也可
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod]
public int MathAdd(int a, int b) //定义一个新方法
{
return a + b;
}
}
}
3. 生成Java中使用的类,使用wsdl2java:
wsdl2java –p test.net.service –d d:\src http://localhost/svr2java/Service1.asmx?wsdl
将生成文件中的Service1Soap.java导入java项目。
备注://@XmlSeeAlso({ObjectFactory.class}),否则调用会出错。
4. 调用服务:
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import java.net.URL;
public class CallDotNetService {
public final static QName SERVICE = new QName("http://temp2java.org/", "Service1");
public final static QName Service1Soap = new QName("http://temp2java.org/", "Service1Soap");
private CallDotNetService() { }
public static void main(String args[]) throws Exception {
URL wsdlURL = new URL("http://localhost/svr2java/Service1.asmx?wsdl");
相关文档:
抽象化和继承关系使概念和定义可以复用;多态性使实现和应用可以复用;
开闭原则(Open-Closed Principle OCP)一个软件实体应当对扩展开放,对修改封闭。
对可变性的封装原则(Principle of Encapsulation of Variation) (1)一种变化性不和另一种混合在一起 (2)一种可变性不应散落在代码的很多地方。
里氏代换 ......
1、JAVA读取文件,避免中文乱码。
/**
* 读取文件内容
*
* @param filePathAndName
* String 如 c:\\1.txt 绝对路径
* @return boolean
*/
public static String readFile(String filePathAndName) {
String fileContent ......
1, 保证线程安全的三种方法: a, 不要跨线程访问共享变量b, 使共享变量是final类型的c, 将共享变量的操作加上同步
2, 一开始就将类设计成线程安全的, 比在后期重新修复它,更容易.
3, 编写多线程程序, 首先保证它是正确的, 其次再考虑性能.
4, 无 ......