roadsides 2017-12-04 03:05 采纳率: 75%
浏览 1392
已采纳

CXF 调用 C# 的 WCF 服务接口

图片说明,试问这一块接口要怎么写

  • 写回答

7条回答 默认 最新

  • threenewbee 2017-12-04 04:28
    关注

    现在灌水太厉害。lz采纳了之前的回答,可以写给你。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 龍龍2017 2017-12-04 03:12
    关注

    用apache的工具把wsdl 转换成你的c#代码 然后你就知道怎么调用了。

    评论
  • huangxuestarrysky 2017-12-04 03:24
    关注

    dasdfdsfsa

    评论
  • qq_39895214 2017-12-04 03:27
    关注

    用apache的工具把wsdl 转换成你的c#代码 然后你就知道怎么调用了。

    评论
  • qq_41266401 2017-12-04 03:53
    关注

    我也不懂,求解求解求解求解!

    评论
  • roadsides 2017-12-04 05:13
    关注

    IService C#端代码

    
    using System.Runtime.Serialization;
    using System.ServiceModel;
    using System.Threading.Tasks;
    
    namespace Mimo.ImageProcess.Service
    {
        // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService1”。
        [ServiceContract]
        public interface IService
        {
            [OperationContract]
            Task<MessageResult> MakeImage(MessageMakeImage message);
    
            [OperationContract]
            Task<MessageResult> MakeImageWithOutCrop(MessageMakeImage message);
    
            [OperationContract]
            Task<MessageResult> MakeImageRotate(MessageMakeImageRotate message);
    
            [OperationContract]
            Task<MessageResult> MakePngImage(MessageMakeImage message);
    
            [OperationContract]
            Task<MessageResult> MakeLogoImage(MessageMakeImage message);
    
            [OperationContract]
            Task<MessageResult> MakeImageCustom(MessageMakeImageCustom message);
        }
    
        // 使用下面示例中说明的数据约定将复合类型添加到服务操作。
        // 可以将 XSD 文件添加到项目中。在生成项目后,可以通过命名空间“Mimo.ImageProcess.Service.ContractType”直接使用其中定义的数据类型。
        [DataContract]
        public class CompositeType
        {
            private bool boolValue = true;
            private string stringValue = "Hello ";
    
            [DataMember]
            public bool BoolValue
            {
                get { return boolValue; }
                set { boolValue = value; }
            }
    
            [DataMember]
            public string StringValue
            {
                get { return stringValue; }
                set { stringValue = value; }
            }
        }
    }
    

    makeImage(也是我要调用的那个接口方法)代码

    
    namespace Mimo.ImageProcess.Service
    {
        [MessageContract]
        public class MessageMakeImage : MessageStream
        {
        }
    }
    

    MessageStream的具体代码

     using System.IO;
    using System.ServiceModel;
    
    namespace Mimo.ImageProcess.Service
    {
        [MessageContract]
        public class MessageStream
        {
            [MessageBodyMember]
            public Stream SourceStream { get; set; }
    
            [MessageHeader]
            public string SavePath { get; set; }
        }
    }
    
    评论
  • threenewbee 2017-12-04 05:19
    关注

    是这样的,java端不能正确序列化wcf需要的stream类型。解决办法是,让java端用string,16进制字符串作为参数,C#这里稍微做一个包装

    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 eclipse无法正常运行
  • ¥15 定义了函数,但是无法根据函数定义触发器
  • ¥20 5变量卡诺图化简得出与非门电路图
  • ¥15 Python爬取交通拥堵指数数据
  • ¥15 使用vba抓取重定向网页问题
  • ¥20 付费需求测试程序(细谈)。
  • ¥15 为什么这段c++代码会报这么多语法错误?
  • ¥50 vue-codemirror如何对指定行 指定位置的 字符进行背景颜色或者字体颜色的修改?
  • ¥30 遇到一个的问题,请教各位
  • ¥20 matlab报错,vflux计算潜流通量