求救cxf 发布服务,接收参数为null

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求救cxf 发布服务,接收参数为null相关的知识,希望对你有一定的参考价值。

我用cxf发布一个服务,两个客户端调用,一个是axis,另一个是xfire,抓包都能抓到数据,但是如果加了webparam注解,接收axis 发过来的参数是null,如果去掉这个注解,接收xfire发过来的参数就是null,有没有什么解决方法。两个客户端是别的公司的,不可能修改

你这个有点本末倒置啊
都是根据服务端或者说服务的wsdl来写客户端
你这是根据客户端写服务端。

这两个客户端访问的是一个服务?
去要这两个客户端开发时的wsdl文件看看是否一样 然后根据wsdl文件生成服务端就好了。
如果是rpc式的 就不能用cxf
参考技术A 就是这个,这个就对了本回答被提问者采纳

Controller从angularjs服务帖子接收Null参数

我在使用angularjs向控制器发布数据时遇到问题。

调试时数据看起来很好,直到它到达我的控制器,然后传入的参数总是为空。

public class NewCompArgs {
            public string Name { get; set; }
            public string Description { get; set; }

        }

        //Tested with [HttpPost] here, and it didn't work
        // Tested using [FromBody]NewCompArgs args, and splitting 
        // out into Name and Decription strings with [FromBody]
        public ActionResult AddNewComponent(NewCompArgs args) 
        {
            Component NewComp = new Component
            {
                Name = args.Name,
                Description = args.Description
            };
            _context.Add(NewComp);
            _context.SaveChanges();
            return Json(NewComp);
        }

NewCompArgs args每次都为null。

这是我用来击中控制器的服务:

app.factory('Components', function ($http, $q) {
    var service = {};

    service.AddNewComponent = function (args) {
        var deferred = $q.defer();
        $http.post('/Components/AddNewComponent', { args: args }).then(function (response) {
            deferred.resolve(response.data);
        });
        return deferred.promise;
    };
    return service;
});

这是角度控制器功能:

$scope.newComponent = function () {
        Components.AddNewComponent($scope.compArgs).then(function (response) {
        });
    }

只是我在调试过程中得到的数据的一个例子

角度控制器:ng controller

角度服务:ng service

MVC控制器:MVC Controller

任何意见是极大的赞赏!

答案

我不确定这是否有用,但是在Angular 2/5中,当你想在控制器中触发一个方法时你可以使用method()。subscribe();也许这会对你有所帮助。

以上是关于求救cxf 发布服务,接收参数为null的主要内容,如果未能解决你的问题,请参考以下文章

CXF的JaxWsDynamicClientFactory调用服务端,服务端收到参数为空

使用axis2调用webservice时,服务端接收到的参数为null

Apache cxf Web服务中的WebServiceContext为null

Controller从angularjs服务帖子接收Null参数

XFire调用CXF参数为Null的问题

通过 jQuery GET 调用传递参数在服务器端接收 null