当前位置: 首页 > 知识库问答 >
问题:

具有用户定义参数的jax-ws

郝冥夜
2023-03-14

我现在正在学习jax-ws。我定义了一个Web服务:

用户服务。JAVA

@WebService
//@SOAPBinding(style=Style.DOCUMENT, use=Use.LITERAL)
public interface UserService {
    @WebMethod
    public User modifyUserInfo(@WebParam(name="user")User user);
    @WebMethod
    public User queryUserInfo(@WebParam(name="username")String username);   
}

UserServiceImpl。JAVA

@WebService(endpointInterface="UserService")
public class UserServiceImpl implements UserService{

    @Override
    public User modifyUserInfo(User user) {
        System.out.println(user);  //it prints "null"
        UserTransaction trans = new ModifyUserInfoTransaction(user);
        trans.execute();
        return trans.getResult();
    }

    @Override   
    public User queryUserInfo(String username) {
        UserTransaction trans = new QueryUserInfoTransaction(username);
        trans.execute();
        return trans.getResult();
    }   
}

使用者JAVA

@XmlRootElement
public class User {
    public enum UserType {
        Normal, Root;
    }
    private String username;
    private String password;
    private UserType usertype;

    public User() {
        usertype = UserType.Normal;
    }

    //the getters and sertters....
}

当我在客户端中调用queryUserInfo()时,它会工作;但是当服务器执行该函数时,参数user将为空。

我使用wsimport生成客户机代码。

........................................................... 当我使用QName和javax时。xml。ws。服务而不是wsimport,它可以工作。

如果有人知道这件事,请告诉我。谢谢

共有1个答案

马新觉
2023-03-14

我在客户机和服务器应用程序中配置JAXBDataBinding。它起作用了。你可以再试一次。

 类似资料:
  • 我正在开发一个Android应用程序,用户使用Firebase电子邮件登录,密码验证方法。在用电子邮件和密码注册用户的同时,我还在firebase实时数据库中推送其他用户配置文件数据,如用户名、号码地址等。我想问的是,除了Firebase要求使用电子邮件和密码登录之外,登录时是否可能出现这种情况?我是否可能使用用户名而不是电子邮件,密码应该与我在注册电子邮件和密码时输入的相同。 这里棘手的部分是保

  • 我是相当新的JNI善良,所以请告诉我,如果我是愚蠢的。 我试图将一个自定义异常从C扔到Java层,该层由字符串和整数构成。我无法让ThrowNew()工作,因为它只需要一个字符串参数。我能找到的每个自定义异常的例子都使用ThrowNew()!!Grrrrr 我猜我需要构造一个,并用“扔(jthrowable obj)”扔出去,但我不确定...这和“扔新()”一样吗?? 例如,这就是我需要的: 如果

  • 问题内容: 我有一个使用Jersey构建的REST服务。 我希望能够根据发送到服务器的MIME设置我的自定义异常编写器的MIME。当接收到json和接收到xml 时返回。 现在我进行了硬编码,但这使XML客户端陷入了黑暗。 我可以利用什么上下文来获取当前请求? 谢谢! 根据答案更新 对于对完整解决方案感兴趣的其他人: 连同 其中ErrorResponseConverter是自定义JAXB POJO

  • 问题内容: 我对此并不陌生,请尝试阅读一些文档,但无法正常工作,请耐心等待。 我创建了一个使用这样的: 这是我的服务: 的是一个例外。 我尝试了这个: 但是,当我调用服务时,不会被调用。看来我可能缺少东西。那么如何定义这个异常呢? 请让我知道如何定义。 问题答案: 您需要使用注释您的异常映射器,否则它将永远不会在JAX- RS运行时中注册。

  • 不久前,我有了一个关于“参数化”用户定义文本的想法,并且想知道在当前的C标准中是否有任何方法可以做到这一点。 基本上,这个想法是有一个用户定义的文本,其行为可以根据一些参数进行调整。作为一个简单的例子,我选择了一个“定点”字面值,它将浮点数转换为整数;该参数是小数位数的精度。 这只是一个练习,因为我不确定这在实际应用中是否有用。 我的第一个想法是这样的: 但是,它不会编译,因为类范围中不允许使用名