I modified my code and its woring fine now. thanks.
On Oct 7, 9:24 pm, [EMAIL PROTECTED] wrote: > On 4 Oct, 14:12, [EMAIL PROTECTED] wrote: > > > > > On 4 Oct, 12:27, maapi123 <[EMAIL PROTECTED]> wrote: > > > > Hi All, > > > > I have created a web service which returns the xml data by reading the > > > following article. > > > >http://www.ibm.com/developerworks/web/library/ws-soa-scasdo/index.html > > > > But, the Service is working for local services only. If I am trying to > > > access the services from a remote machine, I am getting the following > > > error. > > > > ( ! ) Fatal error: Uncaught SCA_RuntimeException: SDO_Exception in > > > setWSDLTypes : Type not found:http://Bccbugsthrownin /usr/share/ > > > pear/SCA_SDO-1.2.2/SCA/Bindings/soap/Proxy.php on line 104 > > > > Pl. do reply me. > > > > My files are, > > > > BugService.php > > > <? > > > include "SCA/SCA.php"; > > > /** > > > * @service > > > * @binding.soap > > > * > > > * @typeshttp://Bcchttp://10.10.11.153/SOA/BugDetails.xsd > > > */ > > > class BugService { > > > /** > > > * @param string $pcode Project Code > > > * @return bugshttp://Bcc > > > */ > > > function getBugs($pcode) { > > > $bugs = SCA::createDataObject('http://Bcc','Bugs'); > > > $bug1 = $bugs->createDataObject('bug'); > > > $bug1->bid = 3; > > > $bug1->keywords = "keyword + Proj. code : ".$pcode; > > > $bug1->detail = "detail " ; > > > $bug1->version = "1.2"; > > > $bug1->os = "xp" ; > > > $bug1->ram = "512"; > > > $bug1->ebid = "12" ; > > > $bug1->level = "level2" ; > > > $bug1->bclass = "class1" ; > > > $bug1->reporter = 46 ; > > > $bug1->status = 524 ; > > > > $bug2 = $bugs->createDataObject('bug'); > > > $bug2->bid = 4; > > > $bug2->keywords = "keyword1 + Proj. code : ".$pcode; > > > $bug2->detail = "detail1 " ; > > > $bug2->version = "1.5"; > > > $bug2->os = "Windows98" ; > > > $bug2->ram = "256"; > > > $bug2->ebid = "1212" ; > > > $bug2->level = "level3" ; > > > $bug2->bclass = "class12" ; > > > $bug2->reporter = 46 ; > > > $bug2->status = 524 ; > > > return $bugs; > > > }} > > > > ?> > > > > BugDetails.xsd > > > > <?xml version="1.0" encoding="UTF-8" ?> > > > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > > > targetNamespace="http://Bcc" elementFormDefault="qualified"> > > > > <xs:element name="Bug" > > > > <xs:complexType> > > > <xs:sequence> > > > <xs:element name="bid" type="xs:integer"/> > > > <xs:element name="keywords" type="xs:string"/> > > > <xs:element name="detail" type="xs:string"/> > > > <xs:element name="version" type="xs:string"/> > > > <xs:element name="os" type="xs:string"/> > > > <xs:element name="ram" type="xs:string"/> > > > <xs:element name="ebid" type="xs:string"/> > > > <xs:element name="level" type="xs:string"/> > > > <xs:element name="bclass" type="xs:string"/> > > > <xs:element name="reporter" type="xs:integer"/> > > > <xs:element name="status" type="xs:integer"/> > > > </xs:sequence> > > > </xs:complexType> > > > </xs:element> > > > <xs:element name="Bugs"> > > > <xs:complexType> > > > <xs:sequence> > > > <xs:element name="bug" type="ns1:Bug" maxOccurs="unbounded" /> > > > </xs:sequence> > > > </xs:complexType> > > > </xs:element> > > > </xs:schema> > > > > Client.php > > > <?php > > > include "SCA/SCA.php"; > > > // $b = SCA::getService('BugService.php'); > > > $b = SCA::getService('http://10.10.11.153/SOA/BugService.php? > > > wsdl'); > > > $bugs = $b->getBugs('good'); > > > echo "Received bugs from Web service:<br>"; > > > foreach($bugs->bug as $Pair) > > > { > > > echo "\"Bid\": ". $Pair-> bid . " :\" Keywords \" " . > > > $Pair-> keywords . " : "; > > > echo " \"Detail\" ". $Pair-> detail . " :\" Version\" " . > > > $Pair-> version . " : "; > > > echo " \"OS\" ".$Pair-> os . " : \"RAM\" " . $Pair-> > > > ram . " : "; > > > echo "\"E-BID\"".$Pair-> ebid . " : \"Level\" " . $Pair-> > > > level . " : "; > > > echo "\"Class\" ".$Pair-> bclass . " : \"Reporter\"" . > > > $Pair-> reporter . " : "; > > > echo "\"Status\"". $Pair-> status . "<br>"; > > > } > > > ?> > > > > The WSDL is, > > > <wsdl:definitions targetNamespace="http://BugService"> > > > - > > > <types> > > > - > > > <xs:schema targetNamespace="http://BugService" > > > elementFormDefault="qualified"> > > > <xs:import schemaLocation="http://10.10.11.153/SOA/BugDetails.xsd" > > > namespace="http://Bcc"/> > > > - > > > <xs:element name="getBugs"> > > > - > > > <xs:complexType> > > > - > > > <xs:sequence> > > > <xs:element name="pcode" type="xs:string"/> > > > </xs:sequence> > > > </xs:complexType> > > > </xs:element> > > > - > > > <xs:element name="getBugsResponse"> > > > - > > > <xs:complexType> > > > - > > > <xs:sequence> > > > <xs:element name="getBugsReturn" type="ns0:bugs"/> > > > </xs:sequence> > > > </xs:complexType> > > > </xs:element> > > > </xs:schema> > > > </types> > > > - > > > <wsdl:message name="getBugsRequest"> > > > <wsdl:part name="getBugsRequest" element="tns2:getBugs"/> > > > </wsdl:message> > > > - > > > <wsdl:message name="getBugsResponse"> > > > <wsdl:part name="return" element="tns2:getBugsResponse"/> > > > </wsdl:message> > > > - > > > <wsdl:portType name="BugServicePortType"> > > > - > > > <wsdl:operation name="getBugs"> > > > <wsdl:input message="tns2:getBugsRequest"/> > > > <wsdl:output message="tns2:getBugsResponse"/> > > > </wsdl:operation> > > > </wsdl:portType> > > > - > > > <wsdl:binding name="BugServiceBinding" > > > type="tns2:BugServicePortType"> > > > <soap:binding transport="http://schemas.xmlsoap.org/soap/http" > > > style="document"/> > > > - > > > <wsdl:operation name="getBugs"> > > > <soap:operation soapAction=""/> > > > - > > > <wsdl:input> > > > <soap:body use="literal"/> > > > </wsdl:input> > > > - > > > <wsdl:output> > > > <soap:body use="literal"/> > > > </wsdl:output> > > > </wsdl:operation> > > > </wsdl:binding> > > > - > > > <wsdl:service name="BugServiceService"> > > > - > > > <wsdl:port name="BugServicePort" binding="tns2:BugServiceBinding"> > > > <soap:address location="http://10.10.11.153/SOA/BugService.php"/> > > > </wsdl:port> > > > </wsdl:service> > > > </wsdl:definitions> > > > - > > > <!-- > > > this line identifies this file as WSDL generated by SCA for PHP. Do > > > not remove > > > --> > > > Thanks for the note. We'll give it a spin and see what happens. > > > Regards > > > Simon > > It's amazing how what on the surface looks like such a simple example > can find interesting bugs. I've attached the files I've ended up with > below. Let me explain what I did to make it work.. > > BugService.xsd > Changed elements into types, using capitalization for the typenames, > as the types are referred to elsewhere > added missing xmlns:ns1= > Changed namespace fromhttp://Bcctohttp://Dcc > > BugService.php > Fixed up to refer tohttp://Dcc > > This namespace change was the real killer. After making the other > fixes it still didn't work and it took me a while to work out that > there is a bug in the SCA code that means that it won't work if the > namespace of the schema that describes the SDO objects comes earlier > in the alphabet that the generated namespace in the WSDL which in our > case here is "http://BugService". Strange eh! I've raised a pecl bug > for this. > > Hope that helps > > Simon > > ============== > > <?php > include "SCA/SCA.php"; > /** > * @service > * @binding.soap > * > * @typeshttp://Dcchttp://localhost/SOA/BugDetails.xsd > */ > class BugService { > /** > * @param string $pcode Project Code > * @return Bugshttp://Dcc > */ > function getBugs($pcode) { > $bugs = SCA::createDataObject('http://Dcc','Bugs'); > $bug1 = $bugs->createDataObject('bug'); > $bug1->bid = 3; > $bug1->keywords = "keyword + Proj. code : ".$pcode; > $bug1->detail = "detail " ; > $bug1->version = "1.2"; > $bug1->os = "xp" ; > $bug1->ram = "512"; > $bug1->ebid = "12" ; > $bug1->level = "level2" ; > $bug1->bclass = "class1" ; > $bug1->reporter = 46 ; > $bug1->status = 524 ; > > $bug2 = $bugs->createDataObject('bug'); > $bug2->bid = 4; > $bug2->keywords = "keyword1 + Proj. code : ".$pcode; > $bug2->detail = "detail1 " ; > $bug2->version = "1.5"; > $bug2->os = "Windows98" ; > $bug2->ram = "256"; > $bug2->ebid = "1212" ; > $bug2->level = "level3" ; > $bug2->bclass = "class12" ; > $bug2->reporter = 46 ; > $bug2->status = 524 ; > return $bugs; > }} > > ?> > > <?xml version="1.0" encoding="UTF-8" ?> > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > targetNamespace="http://Dcc" > xmlns:ns1="http://Dcc" > elementFormDefault="qualified"> > > <!--xs:element name="Bug" --> > <xs:complexType name="Bug"> > <xs:sequence> > <xs:element name="bid" type="xs:integer"/> > <xs:element name="keywords" type="xs:string"/> > <xs:element name="detail" type="xs:string"/> > <xs:element name="version" type="xs:string"/> > <xs:element name="os" type="xs:string"/> > <xs:element name="ram" type="xs:string"/> > <xs:element name="ebid" type="xs:string"/> > <xs:element name="level" type="xs:string"/> > <xs:element name="bclass" type="xs:string"/> > <xs:element name="reporter" type="xs:integer"/> > <xs:element name="status" type="xs:integer"/> > </xs:sequence> > </xs:complexType> > <!--/xs:element--> > <!--xs:element name="Bugs"--> > <xs:complexType name="Bugs"> > <xs:sequence> > <xs:element name="bug" type="ns1:Bug" maxOccurs="unbounded" /> > </xs:sequence> > </xs:complexType> > <!--/xs:element--> > </xs:schema> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "phpsoa" group. To post to this group, send email to phpsoa@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.co.uk/group/phpsoa?hl=en -~----------~----~----~----~------~----~------~--~---