`
chenxi3021
  • 浏览: 1642 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

java 调用.net 写的WebService 问题求解!!!

阅读更多
为了实现新闻的同步而做,现在有一java平台,一个.net平台,在java平台里发布一条新闻后需要同步到.net平台上,于是找到了.net开发人员,给了我下面的这些代码,别的什么也没有,说是可以实现,我是开发java的,对C#不了解,请各位看一看这代码,能不能实现,如果可以的话,我应该如何来实现这一功能!!

using System;
using System.Net;
using MCMSProxy.MCMSServer;
namespace MCMSProxy
{
/// <summary>
/// Summary description for Class1.
/// </summary>
public class Client
{

MCMSServer.MCMS  MCMSServer=new MCMS();
bool _readOnly=false;
public Client(string Url)
{
//
// TODO: Add constructor logic here
//
SiteUrl=Url;
MCMSServer.CookieContainer = new System.Net.CookieContainer();
}

public Client(string Url,bool readOnly)
{
//
// TODO: Add constructor logic here
//
_readOnly=readOnly;
SiteUrl=Url;
MCMSServer.CookieContainer = new System.Net.CookieContainer();
}
/// <summary>
/// 添加新的新闻
/// </summary>
/// <param name="ChannelPath">频道相对于根的路径。例如:http://server/CmsRoot 写为“CmsRoot”</param>
/// <param name="Name">新闻名称</param>
/// <param name="DisplayName">显示名称</param>
/// <param name="Template">模板相对于根的路径</param>
/// <param name="thePlaceholders">内容集合</param>
/// <param name="theCustomProperties">个性化属性集合</param>
/// <returns>新生成的新闻的GUID</returns>
public string AddNews(string ChannelPath,string Name,string DisplayName,string TemplatePath,System.Collections.DictionaryEntry[] thePlaceholders,System.Collections.DictionaryEntry[]  theCustomProperties)
{
CheckCredentials();
MCMSProxy.MCMSServer.DictionaryEntry[] thePlaceholders2=null;
if(thePlaceholders!=null)
{
thePlaceholders2= new  MCMSProxy.MCMSServer.DictionaryEntry[thePlaceholders.Length];
for(int i=0;i<thePlaceholders.Length;i++)
{
thePlaceholders2[i]=new  MCMSProxy.MCMSServer.DictionaryEntry();
thePlaceholders2[i].Key = thePlaceholders[i].Key;
thePlaceholders2[i].Value = thePlaceholders[i].Value;
}
}

MCMSProxy.MCMSServer.DictionaryEntry[] theCustomProperties2=null;
if(theCustomProperties!=null)
{
theCustomProperties2= new  MCMSProxy.MCMSServer.DictionaryEntry[theCustomProperties.Length];
for(int i=0;i<theCustomProperties2.Length;i++)
{
theCustomProperties2[i]=new  MCMSProxy.MCMSServer.DictionaryEntry();
theCustomProperties2[i].Key = theCustomProperties[i].Key;
theCustomProperties2[i].Value = theCustomProperties[i].Value;
}
}
return MCMSServer.AddNews(ChannelPath,Name,DisplayName,TemplatePath,thePlaceholders2,theCustomProperties2);
}
/// <summary>
/// 添加新的新闻,适用于只有一个placeholder且 placeholder名为"content"的新闻模板,例如:常用工具/新闻(自动生成标题)
/// </summary>
/// <param name="ChannelPath">频道相对于根的路径。例如:http://server/CmsRoot 写为“CmsRoot”</param>
/// <param name="Name">新闻名称</param>
/// <param name="DisplayName">显示名称</param>
/// <param name="Template">模板相对于根的路径</param>
/// <param name="Content">内容</param>
/// <param name="theCustomProperties">个性化属性集合</param>
/// <returns>新生成的新闻的GUID</returns>
public string AddNews(string ChannelPath,string Name,string DisplayName,string TemplatePath,string Content,System.Collections.DictionaryEntry[]  theCustomProperties)
{
System.Collections.DictionaryEntry[] thePlaceholders= new  System.Collections.DictionaryEntry[1];
thePlaceholders[0]=new System.Collections.DictionaryEntry();
thePlaceholders[0].Key="Content";
thePlaceholders[0].Value =Content;
return AddNews(ChannelPath,Name,DisplayName,TemplatePath,thePlaceholders,theCustomProperties);
}
/// <summary>
/// 发布新闻
/// </summary>
/// <param name="PostingGuid">被发布新闻的GUID</param>
/// <param name="startDate">开始发布时间</param>
/// <param name="ExpiryDate">过期时间</param>
/// <returns>是否成功发布</returns>
public bool PublishNews(string PostingGuid, DateTime startDate, DateTime ExpiryDate)
{
CheckCredentials();

return MCMSServer.PublishNews(PostingGuid,startDate,ExpiryDate);
}
/// <summary>
///
/// </summary>
/// <param name="_ChannelPath"></param>
/// <param name="_SummaryChannel"></param>
/// <param name="_Conditions"></param>
/// <param name="_Filter"></param>
/// <param name="_OrderBy"></param>
/// <param name="_DeepLevel"></param>
/// <param name="_SummarySubChannel"></param>
/// <param name="_maxCount"></param>
/// <param name="_postingcount"></param>
/// <returns></returns>
public System.Data.DataSet   ListNews(string SummaryChannel,string Conditions,string Filter,string OrderBy,int DeepLevel,bool SummarySubChannel,int maxCount,int postingcount)
{
CheckCredentials();

return MCMSServer.ListNews(SummaryChannel, Conditions, Filter, OrderBy, DeepLevel, SummarySubChannel, maxCount, postingcount);
}
/// <summary>
/// </summary>
/// <param name="ChannelPath"></param>
/// <param name="SummaryChannel"></param>
/// <param name="Conditions"></param>
/// <param name="postingcount"></param>
/// <returns></returns>
public System.Data.DataSet   ListNews( string SummaryChannel,string Conditions,int MaxCount)
{
//CheckCredentials();
return MCMSServer.ListNews( SummaryChannel, Conditions, "", "",-1, false,MaxCount, -1);
}

public System.Xml.XmlNode  getNews(string GUID)
{
CheckCredentials();
return MCMSServer.getNews(GUID);


}
public string FileToResource(byte[] iBuffer, string fileName)
{
CheckCredentials();
return MCMSServer.FileToResource(iBuffer,fileName);


}

private void CheckCredentials()
{
if(MCMSServer.Credentials==null)
MCMSServer.Credentials=System.Net.CredentialCache.DefaultCredentials; 
}
// public string GetLog()
// {
// try
// {
// return   MCMSServer.Getlog();
// }
// catch(Exception ex)
// {
// return "读取日志出错!"+ex.Message ;
// }
// }
// <summary>
// Wss site server Url or WebServer Url like "http://testserver/CmsWebService/MCMS.asmx?NRMODE=Update"
// </summary>
public string SiteUrl
{
set
{
string m_Site=value;
if(m_Site.EndsWith("/"))  m_Site=m_Site.Substring(0,m_Site.Length-1);
if(_readOnly)
{
if(m_Site.ToLower().EndsWith("mcms.asmx"))
MCMSServer.Url =m_Site;
else
MCMSServer.Url =m_Site+"/EipCmsTemplate/WebService/MCMS.asmx";
}
else
{
if(m_Site.ToLower().EndsWith("mcms.asmx?nrmode=update"))
MCMSServer.Url =m_Site;
else
MCMSServer.Url =m_Site+"/EipCmsTemplate/WebService/MCMS.asmx?NRMODE=Update";
}
}
}
/// <summary>
/// if use Proxy
/// </summary>
public System.Net.IWebProxy  Proxy
{
set
{
MCMSServer.Proxy =value;

}

}

/// <summary>
///  Credentials
/// </summary>
public ICredentials Credentials
{
set
{
MCMSServer.Credentials= value;
}

}


}

}
分享到:
评论
1 楼 chenxi3021 2007-06-27  
怎么就没有顶一下啊!!

相关推荐

    Java调用ASP.NET的WebService接口实例

    Java调用.NET的WebService接口实例,jar包删减到三个,干净清爽,里面包含注多注释和图解,搞了半天的家伙拿出来与大家分享,无任何BUG,修改里面的参数即可直接运行,对于这种好东西,花了半天时间10分不算高,重在...

    java调用.net发布的webservice(asmx)

    总结起来,Java调用.NET ASMX Web服务需要理解SOAP协议,掌握生成Java客户端代理类的方法,并处理可能出现的身份验证和错误问题。通过合理的编程实践和框架集成,可以实现高效、稳定的跨平台通信。在实际项目中,...

    java调用.net的WebService[借鉴].pdf

    【Java 调用 .NET WebService 基础知识】 在软件开发中,跨平台交互是常见的需求,Java 和 .NET 平台之间的通信可以通过 WebService 实现。本篇将详细讲解如何使用 Java 调用 .NET 开发的 WebService。 1. **...

    java采用axis调用.net写的WebService

    java采用axis调用.net写的WebService,WebService的参数有传人和传出,传出的参数为ref,java端ParameterMode.OUT,传人的为ParameterMode.IN,WebService返回值为String,java利用Map取传出参数,对Map进行遍历取得...

    java调用.NET的webservice源码

    Java调用.NET的Web服务(WebService)是一种跨平台、跨语言的通信方式,它允许不同技术栈的应用程序之间共享功能和服务。在这个场景中,Java应用作为客户端,通过HTTP协议调用由.NET框架构建的Web服务。本文将详细...

    java调用.net的webservice传字符串参数

    本主题主要探讨如何在Java环境中调用.NET的Web服务,特别是传递字符串参数。我们将深入讲解两种主流的方法:Axis和XFire。 **一、 Axis** 1. **Axis简介**: Axis是Apache软件基金会的一个开源项目,它提供了一套...

    .net调用webservice接口例子

    本示例将详细讲解如何使用.NET来调用一个WebService接口,并提供相关的代码实例。 首先,让我们理解Web Service的基本概念。Web Service是一种基于XML(可扩展标记语言)的标准化方法,用于在不同应用程序之间共享...

    java和.net的webservice调用介绍

    【Java与.NET的Web服务调用详解】 在分布式系统中,Web服务作为一种标准的通信机制,使得不同平台、不同语言的应用程序能够相互通信。本文将深入探讨Java和.NET之间如何进行Web服务调用,帮助开发者理解这两种技术...

    java访问.net webservice获取与设置cookie

    在IT行业中,跨平台通信...总之,Java通过JAX-WS可以轻松地调用.NET Web服务。在处理涉及Cookie的会话时,关键在于正确设置请求头并解析响应头中的Cookie信息。了解这些机制有助于构建可靠、健壮的跨平台通信解决方案。

    java调用.net webservice时所需的jar包

    在Java中调用.NET Web服务涉及的技术主要是SOAP(Simple Object Access Protocol)和WS-I(Web Services Interoperability),因为.NET Web服务通常是基于这些标准构建的。为了实现这种跨平台通信,Java开发者需要...

    java调用.net的WebService.pdf

    【Java调用.NET WebService详解】 在跨平台的软件开发中,Java与.NET之间的互操作性是一个重要的话题。本文将详细介绍如何使用Java调用.NET构建的Web服务,以获取天气预报为例,展示具体步骤和代码实现。 首先,...

    Java调用.NET web service

    在提供的资源中,“web service_demo.rar”可能是.NET Web Service的示例代码或部署文件,“cilentDemo.rar”可能是Java客户端的示例代码,“Java调用webservice类的方法.txt”可能包含了具体的Java调用步骤或代码...

    java调用.net webservice实例

    Java调用.NET WebService是跨平台通信的一种常见方式,尤其在企业级应用中,不同技术栈的应用需要相互交互数据时,这种技术尤为实用。Apache Axis是Java中常用的用于调用Web服务的工具,它提供了方便的API来创建和...

    asp.net通过WebService调用Java接口全过程

    ASP.NET调用Java接口主要涉及的是跨平台的通信技术,其中关键步骤是通过WebService作为中间桥梁来实现。这里,我们详细解析整个过程: 1. **部署Java WebService**: - 使用Tomcat这样的应用服务器部署Java ...

    用java调用.net接口的方法

    标题提到的“用java调用.net接口的方法”就是解决这个问题的一种技术实践。以下将详细讲解三种主要的实现方式,以及如何通过提供的源代码进行操作。 首先,我们要理解Java和.NET之间的互操作性通常依赖于Web服务...

    java程序调用.net/c#的webservice

    Java程序调用.NET/C#的Web服务是一种跨平台的交互方式,主要依赖于SOAP(Simple Object Access Protocol)协议,使得不同编程语言开发的应用程序能够相互通信。在本场景中,用户已经提供了一个.NET的Web服务,而我们...

    java调用.net写的返回值为dataset的webservice(2)实例项目

    网上的调用例子太多了,有的要用cmd来解析webserive,有的没有包,有的代码报错。学习及测试花了4天,终于完成了。 1直接把项目放到 myeclipse的工作区间加载就行。然后將axis-1_4包下的lib文件夹里的包 都加載到...

    java调用.net webservice.doc

    java调用.net webservice

    java调用.net写的Webservice[归类].pdf

    本文将详细探讨如何使用Java的Axis1.x库来调用.NET WebService,并介绍在此过程中可能遇到的问题及解决方案。 首先,让我们了解如何使用Axis1.x调用Web服务。在Java中,你需要创建一个`Service`对象,然后通过这个...

Global site tag (gtag.js) - Google Analytics