@WebResult(name="User")便于对结果xml和java的转换
@XmlRootElement
public class User {
private int id;
private String username;
private String nickname;
private String password;
public User() {
}
public User(int id,String username,String nickname,String password)
{
this.id = id;
this.username = username;
this.nickname = nickname;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
远程服务接口
@WebService
public interface IMyservice {
@WebResult(name="addResult")
public int add(@WebParam(name="a")int a,@WebParam(name="b")int b);
/**以下返回的结构名称都设置成user,是为了对传递的soap消息很好的进行xml和java之间的转换**/
@WebResult(name="user")
public User addUser(@WebParam(name="user")User user);
@WebResult(name="user")
public User login(@WebParam(name="username")String username,@WebParam(name="password")String password);
@WebResult(name="user")
public List list();
}
基于源数据的SOAP传递
// 1、创建service服务
URL url = new URL("http://localhost:8989/ws?wsdl");
QName qname = new QName("http://service.soap.org/", "MyserviceImpl");
Service service = Service.create(url, qname);
// 2、创建dispatch(通过源数据的方式传递)
Dispatch dispatch = service.createDispatch(new QName(
"http://service.soap.org/", "MyserviceImplPort"),
Source.class, Service.Mode.PAYLOAD);
// 3、根据用户对象创建相应的xml
User user = new User(3, "sean", "肖恩", "123456");
JAXBContext cxt = JAXBContext.newInstance(User.class);
Marshaller marshaller = cxt.createMarshaller();
// 转换xml时去掉头标签
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);
StringWriter writer = new StringWriter();
marshaller.marshal(user, writer);
System.out.println(writer.toString());
// 4、封装相应的part addUser
String payload = ""
+ writer.toString() + "";
StringReader reader = new StringReader(payload);
StreamSource source = new StreamSource(reader);
// 5、通过dispatch传递payload
Source response = dispatch.invoke(source);
// 6、将response转换成dom进行操作使用Transform转换
Transformer trans = TransformerFactory.newInstance()
.newTransformer();
DOMResult result = new DOMResult();
trans.transform(response, result);
// 7、XPath处理dom
XPath xPath = XPathFactory.newInstance().newXPath();
NodeList nl = (NodeList) xPath.evaluate("//user", result.getNode(),
XPathConstants.NODESET);
User user2 = (User) cxt.createUnmarshaller().unmarshal(nl.item(0));
System.out.println(user2.getUsername());
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI
TH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作
在 Service Pack 4 (SP 4), 是运行 Microsoft Windows Server 2003、 Microsoft Windows Storage Server 2003 或 Microsoft Windows 2000 服务器上您尝试安装 Microsoft SQL Server 2000 通过卷许可协议 (VLA) 媒体。 这样做, 收到以下错误信息CD KEY的 SQ
OS 7 has a new method that allows you to draw a view hierarchy into the current graphics context. This can be used to get an UIImage very fast.
I implemented a category method on UIView to get the vi
方法一:
在my.ini的[mysqld]字段加入:
skip-grant-tables
重启mysql服务,这时的mysql不需要密码即可登录数据库
然后进入mysql
mysql>use mysql;
mysql>更新 user set password=password('新密码') WHERE User='root';
mysq
背景
2014年11月12日,ASP.NET之父、微软云计算与企业级产品工程部执行副总裁Scott Guthrie,在Connect全球开发者在线会议上宣布,微软将开源全部.NET核心运行时,并将.NET 扩展为可在 Linux 和 Mac OS 平台上运行。.NET核心运行时将基于MIT开源许可协议发布,其中将包括执行.NET代码所需的一切项目——CLR、JIT编译器、垃圾收集器(GC)和核心