原生WebService


私はjdk 6のwebserviceを使っています.
オープンな言い訳を作成して実現します.
public interface UserService {
    public String saveUser(String username,String password);
}
実装クラス:
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
@WebService(name = "UserService", serviceName = "UserService", targetNamespace = "http://cas.webservice.user/client")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class UserServiceImpl implements UserService{
;
                                                                                                                                 
    public String saveUser(String username, String password) {
        System.out.println(username+" : "+password);
         return username + " : " + password;
                                                                                                                                      
    }
}
注です.必ず必要です.下に注解の中のものを使います.
webserviceのリリース:
public class TestMain {
    public static void main(String[] args) {   
        Endpoint.publish("http://127.0.0.1:9527/UserService",new UserServiceImpl());
    }
}
9527ポートの後ろのUserServiceは注釈中のserviceNameの内容である.
そして、メールの方法を実行してください.
デスクトップの開始位置にcmdコマンドを入力して、下記の内容を入力してください.
wsmiport-keephttp://127.0.0.1:9527/UserService?wsdl
C:\Users\Jhon(コンピュータのユーザー名)\user\webservice\cas\clientの下で「.classと.java」のファイルを作成します.
もう一つのプロジェクトを作り直して、casの下のclientフォルダを新しいプロジェクトのsrcの下にコピーして、テストクラスを新たに作ります.コードは下記の通りです.
public class TestMain {
    public static void main(String[] args) {
        UserService_Service uss=new UserService_Service();
        UserService user=uss.getUserServicePort();
        System.out.println(user.saveUser("  ", "yes i do"));
        }
}
コンソールで出力します.こんにちは、yes i do.
注意する点:
一つは、リリースされたクラスにインターフェース属性があって、そのgetter/setterがあったら、発表会は失敗します.
第二にリリースされたipは127..0.1であれば、ロカホストは訪問できません.いくらですか?でも、実際のプロジェクトはこのようなことはありません.
第三に、いくつかのクライアントの呼び出し時にもエラーが発生します.例えば、Provider comp.sun.xml.ws.spi.Provider Impl not foundという異常があります.コードを追跡していますが、間違ったjdkバージョンのProviderと成功したjdkバージョンは違っています.他は大丈夫です.
第四に、ここではwebserviceのフレームワークが使われていないので、tomcatに組み込まれていません(もしtomcat環境で必要とするなら).