SOAP�̎d�|���͂ǂ��Ȃ��Ă���H�FSOAP�̎d�|���i1�j�i3/3 �y�[�W�j

» 2001�N03��02�� 00��00�� ���J
[���K���C���{�A�C�E�r�[�E�G���������]
�O�̃y�[�W�� 1|2|3 �@�@�@�@�@�@

Apache-SOAP V2.0���g���Ă݂悤

�@Apache-SOAP�́ASOAP��Java�ŗ��p���邽�߂̃��C�u�������Ǝv���Ă���������΂������낤�B����IBM��alphaWorks�ň����Ă���IBM-SOAP�iSOAP4J�j V1.2�ŁA���ꂪApache�ɏo�����̂ł���B

��Web�T�[�r�X

�@����ȍ~�A�T�[�r�X�Ƃ������t���悭�g���̂ʼn�����Ă������BSOAP�̐��E�ł̓T�[�o���ɂ��郁�\�b�h�̂��Ƃ��u�T�[�r�X�v�ƌĂԁB�T�[�r�X��SOAP�̃T�[�o�@�\�iXML-SOAP���b�Z�[�W����ǂ��ăI�u�W�F�N�g�Ƀ}�b�s���O������A���̋t���s���j�̃v���O�����ɓo�^����Ă��Ȃ��ƌĂяo�����Ƃ��ł��Ȃ��B���̓o�^�̍�Ƃ��u�T�[�r�X�̃f�v���C�ideploy�j�v�Ƃ����A�폜���邱�Ƃ��u�A���f�v���C�iundeploy�j�v�Ƃ����B�T�[�r�X��񋟂���̂́A�T�[�o���ŃC���X�^���X�����ꂽ�I�u�W�F�N�g�����A������u�^�[�Q�b�g�E�I�u�W�F�N�g�v�Ƃ����B�����āA�A�N�Z�X����̂́u�N���C�A���g�v�ł���B

}4@NCAgApache-SOAP̊֌W �}4�@�N���C�A���g��Apache-SOAP�̊֌W

��Apache-SOAP�̍\���Ɠ���

�@Apache-SOAP�ɂ́A���̂��̂��܂܂�Ă���B

  1. Web�T�[�o��SOAP�T�[�o�ɂ��邽�߂̃T�[�o�@�\
    JSP�t�@�C���Ƃ��̌��ɓ���Java�v���O�����ł���B
  2. �T�[�o�̐ݒ���s�����߂̉�ʁiJSP�j�ƃR�}���h�v���O����
    ��ɁA�T�[�r�X�̓o�^��폜���s���B
  3. �T�[�o�ɃA�N�Z�X���邽�߂̃N���C�A���g�pAPI
  4. �f�o�b�O�c�[���uTCP�g���l���E���j�^�v

�@�����̋@�\�͂��ׂ�Java�Ŏ�������Ă���A�usoap.jar�v�t�@�C���ɂĒ񋟂���Ă���B

�@�܂��AApache-SOAP�͎��̂悤�ȓ����������Ă���B

  1. SOAP V1.1�̂قƂ�ǂ̋K����T�|�[�g
  2. 3�‚̃G���R�[�f�B���O���T�|�[�g
    SOAP�G���R�[�f�B���O�AXMI�A���e����XML
  3. HTTP��SMTP���g�����X�|�[�g�Ƃ��ė��p�”\
  4. BSF�iBean Scripting Framework�j�ɂ��A�X�N���v�g����ɂ��T�[�r�X�̎������”\

��Apache-SOAP�̉ғ��‹�

�@Apache-SOAP�́A�P�Ƃł͓����Ȃ��i������O�����j�BApache-SOAP�́AJava Web�A�v���P�[�V�����T�[�o��SOAP�Ή��ɕϐg�����邽�߂̂��̂Ȃ̂ŁA����Ȃ�̃T�[�o���i���K�v�ł���B�܂��A�d�l�̏Љ�ł��G�ꂽ���A���O��Ԃ��g�����߂ɁA���O��Ԃ��T�|�[�g����XML�p�[�T���K�v�ł���B����ł́AApache-SOAP�́A������Apache���񋟂��Ă���Xerces V1.1.2�ȏ���g��Ȃ���΂Ȃ�Ȃ��B�ȏ���܂Ƃ߂�ƁA�ȉ��̂悤�ɂȂ�B

  1. Apache-SOAP
  2. Xerces 1.1.2�ȍ~
  3. �T�[�u���b�g�EJSP���T�|�[�g���鎟�̃T�[�o�̂ǂꂩ
    �@Apache Tomcat
    �@IBM WebSphere Application Server V3.5
    �@BEA WebLogic V5.1
    �@Allaire JRun
    �@Microsoft Internet Information Server�iIIS�j

�@�������A�����Ɉꗗ����Ă��Ȃ��T�[�o�ł��A�g�ݍ��߂Γ����Ǝv����B�������AServlet API 2.2���T�|�[�g���Ă���K�v������B

��Apache-SOAP�̃h�L�������g

�@Apache-SOAP�́Azip�t�@�C���Œ񋟂���Ă���A�W�J�����soap-2.0�Ƃ������f�B���N�g�����ł���B�h�L�������g��ReleaseNote.html���J���ƁA�������烊���N�������Ă���̂ł������Q�Ƃ��Ă���������΂����Ǝv���B�c�O�Ȃ��炱�̃h�L�������g�͉p��ł��邪�A���[�U�[�Y�E�K�C�h�A�����菇�AWebSphere�ł̓����菇�Ȃǂ�M�҂����{��ɖ󂵂����̂�IBM-TRL�i������b�������j�̃T�C�g�ɒu�����̂ł����p�������������B

http://www.trl.ibm.co.jp/projects/xml/soap/xml-soap/java/ReleaseNotes-j.html

�������菇

�@�܂��A���R�̂��ƂȂ���A�v���P�[�V�����T�[�o���Z�b�g�A�b�v���������Ă���K�v������B����ɁA�A�v���P�[�V������XML�p�[�T��Xerces��JAR�t�@�C���ixerces.jar�j��T���o����悤�ɂ��Ă����K�v������B�ʏ�A�A�v���P�[�V�����T�[�o�̃N���X�p�X�̐擪��xerces.jar������悤�ɐݒ肷��B�ꕔ�̃T�[�o�ł͍\���t�@�C�����C�����Ȃ��Ƃ����Ȃ����̂�����̂ŁA���ӂ��K�v�ł���B���l��soap.jar���g�ݍ��ށB�����āASOAP�̃T�[�o�@�\�irpcrouter.jsp�j���A�v���P�[�V�����T�[�o�ɓo�^����Ώ��������ł���B�����̎菇�́AApache-SOAP��ReleaseNote.html���瓱���菇�̃����N�����ǂ�ƍڂ��Ă���B

��SOAP��RPC�A�v���P�[�V����������Ă݂悤

�@Apache-SOAP��RPC�A�v���P�[�V�����́A���̎菇�ō��B

  1. �T�[�r�X��񋟂���R�[�h����������
  2. �T�[�r�X��z�u����
  3. �T�[�r�X�ɃA�N�Z�X����N���C�A���g�R�[�h���J������

�@�T�[�r�X��񋟂���R�[�h�ɂ́ASOAP�炵���R�[�h�͕K�v�Ȃ��B�����̃I�u�W�F�N�g�ł悢�B�Ⴆ�΁A���̂悤�ȊȒP�ȃR�[�h���l���Ă݂悤�B

public class Userinfo {
  public String getPassword(String userid) { 
    if(userid.equals("Yonemochi")) {
      return("pass1");
    } else if(userid.equals("Pandrbox")) {
      return("pass2");
    } else return("Unknown");
  }
}

���́uUserinfo�v�N���X�́AgetPassword(String)�Ƃ������\�b�h�������Ă���A���[�U�[ID�������Ƃ��ēn���ƃp�X���[�h��Ԃ��A�Ƃ������̂ł���B������R���p�C�����ăT�[�o�����‚�����N���X�p�X��ɒu���B

���T�[�r�X�̔z�u

�@���ɕK�v�Ȃ̂́A�T�[�r�X�̔z�u�ł���B���U�I�u�W�F�N�g���s���V�X�e���ł́A�I�u�W�F�N�g���T�[�o���F�����Ă���K�v������BSOAP�ł��A�N���X�ɂ͖��O���t�����A�T�[�r�X�Ƃ��ēo�^���Ă����K�v������B�T�[�r�X�̓o�^�ɂ͂����‚��Z�b�g���Ȃ���΂����Ȃ����ڂ����邪�A����͎��̒l���g�����Ƃɂ���B

ID urn:userinfoservice
Scope Request
ProviderType java
ProviderClass Userinfo
Use Static Class false
Methods getPassword
TypeMapping �@

�@ID�͂��̃T�[�r�X�ɕt������ŗL�̖��O�Ŏ��R�ɕt���Ă悢���A�uurn:xxxx�v�`���ɂ���BScope�́AJSP��SCOPE�^�O�Ǝ����悤�Ȃ��̂ŁA���N�G�X�g���w�肷��ƃ��N�G�X�g�P�ʂŃI�u�W�F�N�g���L���ɂȂ�BProviderType��Java�ł��邩�A�X�N���v�g�ł��邩�A�Ȃǂ��w�肷��BProviderClass�ɂ́A�N���X�����w�肷��BUse Static Class�́Afalse�̏ꍇ�C���X�^���X�𐶐����ă��\�b�h�Ăяo�����s����Btrue�̏ꍇ�Astatic���\�b�h�ƔF������Astatic�Ăяo�����s����B���̏ꍇ�A���R���\�b�h��static�ł���K�v������B������method�����u�����N��؂�ňꗗ�L�q����BTypeMapping�́A�J�X�^���E�V���A���C�U���g���Ƃ��̂ݎw�肷��̂ŁA����͕K�v�Ȃ��B

�@�T�[�r�X��o�^���邽�߂ɂ́AApache-SOAP���Z�b�g�A�b�v�����A�v���P�[�V�����T�[�o���N�����A�u���E�U�Ŏ���URL�ɃA�N�Z�X����B

http://localhost/soap

����ƁAXML-SOAP Admin�Ƃ����y�[�W���\�������͂����i���1�j�B�����ɕ\�������uDeploy�v�{�^���������A��قǂ̃f�[�^����͂��ăf�v���C����������B

1@XML-SOAP Admin̉ ���1�@XML-SOAP Admin�̉��

�@Apache-SOAP�ł́A�f�v���C�����g�E�f�B�X�N���v�^�i�z�u�L�q�j�Ƃ���XML�������������ăo�b�`�v���O�����œo�^������@���������Ă��邪�A����͏ȗ�����B

���N���C�A���g�R�[�h�̍쐬

�@�N���C�A���g�R�[�h�ł́A�ȉ��̎菇���s���K�v������B

  1. Call�I�u�W�F�N�g�̃C���X�^���X��
    �^�[�Q�b�g�E�I�u�W�F�N�g�A���\�b�h���A�G���R�[�f�B���O�̃Z�b�g
  2. Parameter�I�u�W�F�N�g�̏�����Vector�ւ̒lj�
  3. Vector��Call�I�u�W�F�N�g�փZ�b�g
  4. URL�I�u�W�F�N�g���Z�b�g���āAinvoke()�̌Ăяo��
  5. Response�I�u�W�F�N�g�̎��o��
  6. getReturnValue�ɂāA�߂�l�̎��o��

�@��قǂ̃T�[�r�X�uurn:userinfoservice�v�́ugetPassword�v�ɃA�N�Z�X���邽�߂̃N���C�A���g�R�[�h�͎��̂悤�ɂȂ�B

import java.io.*;
import java.net.URL;
import java.util.Vector;
import org.apache.soap.Constants;
import org.apache.soap.rpc.*;
 
public class GetPassword {
  // parm1 = userid, parm2 = URL
  public static void main(String[] args) {
    String urlString = "http://localhost:8080/soap/servlet/rpcrouter";
    if(args.length > 1) urlString = args[1];
 
  Call c = new Call();
  c.setTargetObjectURI("urn:userinfoservice");
  c.setMethodName("getPassword");
  c.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
 
    Vector v = new Vector();
    v.addElement(
      new Parameter("num1", String.class, args[0], null)
    );
    c.setParams(v);
    try {
      Response r = c.invoke(new URL(urlString), "");
      Parameter result = r.getReturnValue();
      System.out.println("PASSWORD:"+result.getValue());
    } catch(Exception e) { e.printStackTrace(); }
 
  }
}

�@�����ŁAURL�Ȃǂ͓K�X�������Ă������������B

�@������Ȃ��N���X�Ƃ��āuCall�v�A�uParameter�v�A�uResponse�v������B�����́AApache-SOAP�̃N���X�ł���BCall�I�u�W�F�N�g�́AParameter�I�u�W�F�N�g���A������Vector�Ƃ��Ĉێ����Ă���Ainvoke()���\�b�h�ɂ��ASOAP��ʂ��ăT�[�o�ɑ��M�����BCall�I�u�W�F�N�g�̓T�[�o���ŕ�������ă��\�b�h�̌Ăяo���Ɏg���AResponse�I�u�W�F�N�g�������SOAP�ő���Ԃ���Ă���BResponse�I�u�W�F�N�g�̒��ɂ́A���\�b�h�̖߂�l��Parameter�I�u�W�F�N�g�Ƃ��ĕ�������Ă���Ainvoke()���\�b�h�̖߂�l�Ƃ��ĕԂ����B��������o���΁A���\�b�h�̖߂�l��������Ƃ�����ł���B

�@������R���p�C������ɂ́Asoap.jar���N���X�p�X�ɓ���Ă����K�v������A����Ɏ��s���ɂ́AApache-SOAP�̃����^�C�����K�v�Ƃ���xerces.jar���K�v�ɂȂ�̂ŋC��t���悤�B

�@���̃v���O���������s����ƁA���̂悤�ɁA���ʂ��\�������B

> java GetPassword Yonemochi
PASSWORD:pass1

�@���āA���̂��Ƃ���A��ɏЉ��TCP�g���l���E���j�^�ł̂����Ă݂悤�B�R�}���h�v�����v�g�Ŏ��̂悤�ɃR�}���h����͂���B

java org.apache.soap.util.net.TcpTunnelGui 8080 localhost 80

����ŁAlocalhost:8080�ɃA�N�Z�X����ƁA�g���l���E���j�^��ʂ���localhost:80�ɃA�N�Z�X���邱�Ƃ��ł��A�ʉ߂����t���[�����̂������Ƃ��ł���B���M����ю�M���ꂽ�t���[���������B

POST /soap/servlet/rpcrouter HTTP/1.0
Host: localhost:8080
Content-Type: text/xml
Content-Length: 418
SOAPAction: ""
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<ns1:getPassword xmlns:ns1="urn:userinfoservice" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<num1 xsi:type="xsd:string">Yonemochi</num1>
</ns1:getPassword>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
���M���ꂽ�t���[��
HTTP/1.1 200 ok
Date: Wed, 17 Jan 2001 15:40:20 GMT
Server: IBM_HTTP_Server/1.3.12.1 Apache/1.3.12 (Win32)
Set-Cookie: sesessionid=DVVAFIAAAAAABQFIAED2BRI;Path=/
Cache-Control: no-cache="set-cookie,set-cookie2"
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Content-Length: 434
Connection: close
Content-Type: text/xml;; charset=UTF-8
Content-Language: ja
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<ns1:getPasswordResponse xmlns:ns1="urn:userinfoservice" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return xsi:type="xsd:string">pass1</return>
</ns1:getPasswordResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
���X�|���X�i��M���ꂽ�t���[���j

�@����́ASOAP�̎d�l�̊T���A�����Java�̎����ł���Apache-SOAP�̎g�������T�������B����́ASOAP�̃Z�L�����e�B�ɂ‚��ĊT������\��ł���B


�O�̃y�[�W�� 1|2|3 �@�@�@�@�@�@

Copyright © ITmedia, Inc. All Rights Reserved.

'; this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B