求救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