我正在构建一个简单的网络服务来保存附有图像的新闻。我已经把它作为JSF2应用程序,我正在尝试转换为Web服务。
我看到了这个问题的答案Axis2 and Webservices: File Upload,但它是关于添加一个接受DataHanders的新服务,是否有更简单的方法将文件包含到新闻对象中并一次发送?
服务器端:
- 新闻对象
public class Actualite {
private Part file;
private String titre;
private String desc;
private String image;
public String getTitre() {return titre;}
public void setTitre(String titre) {this.titre = titre;}
public String getDesc() {return desc;}
public void setDesc(String desc) {this.desc = desc;}
public String getImage() {return image;}
public void setImage(String image) {this.image = image;}
public Part getFile() {return file;}
public void setFile(Part file) {this.file = file;}
public String upload(String name) throws IOException, SOAPException {
// upload
}
}
- 新闻服务
public class ActualiteDao extends Connexion {
..
public void ajouter(Actualite act) {
try{
getDao().create(act);
} catch (Exception e) {
e.printStackTrace();
} finally {
closeConnection();
}
}
...
}
客户端:
使用eclipse我生成服务类ActualiteDaoStub
,可以像这样在控制器中使用
ActualiteDaoStub actWS = new ActualiteDaoStub();
Ajouter ajout = new Ajouter();
ajout.setAct(actualite);
actWS.ajouter(ajout);
但这会导致错误
org.apache.axis2.AxisFault:未知类型无法序列化