can't use wsdl file get service??

14 views
Skip to first unread message

heshuai64

unread,
Nov 20, 2009, 9:35:18 PM11/20/09
to phpsoa


include 'SCA/SCA.php';
$service = SCA::getService("StockQuoteService?wsdl");
$service->getPrice(array('symbol'=>'IBM'));


StockQuoteService?wsdl file content:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:axis2="http://quickstart.samples/" xmlns:ns1="http://
org.apache.axis2/xsd" xmlns:ns="http://quickstart.samples/xsd"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://
www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/
mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
targetNamespace="http://quickstart.samples/">
<wsdl:documentation>StockQuoteService</wsdl:documentation>
<wsdl:types>
<xs:schema attributeFormDefault="qualified"
elementFormDefault="qualified" targetNamespace="http://
quickstart.samples/xsd">
<xs:element name="getPrice">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="symbol"
nillable="true" type="xs:string"/>

</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getPriceResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="return"
type="xs:double"/>
</xs:sequence>
</xs:complexType>

</xs:element>
<xs:element name="update">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="symbol"
nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="price"
type="xs:double"/>
</xs:sequence>
</xs:complexType>
</xs:element>

</xs:schema>
</wsdl:types>
<wsdl:message name="getPriceRequest">
<wsdl:part name="parameters" element="ns:getPrice"/>
</wsdl:message>
<wsdl:message name="getPriceResponse">
<wsdl:part name="parameters" element="ns:getPriceResponse"/>
</wsdl:message>
<wsdl:message name="updateRequest">

<wsdl:part name="parameters" element="ns:update"/>
</wsdl:message>
<wsdl:portType name="StockQuoteServicePortType">
<wsdl:operation name="getPrice">
<wsdl:input message="axis2:getPriceRequest"
wsaw:Action="urn:getPrice"/>
<wsdl:output message="axis2:getPriceResponse"
wsaw:Action="urn:getPriceResponse"/>
</wsdl:operation>
<wsdl:operation name="update">
<wsdl:input message="axis2:updateRequest"
wsaw:Action="urn:update"/>

</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="StockQuoteServiceSoap11Binding"
type="axis2:StockQuoteServicePortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document"/>
<wsdl:operation name="getPrice">
<soap:operation soapAction="urn:getPrice" style="document"/
>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>

<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="update">
<soap:operation soapAction="urn:update" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>

</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="StockQuoteServiceSoap12Binding"
type="axis2:StockQuoteServicePortType">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/
http" style="document"/>
<wsdl:operation name="getPrice">
<soap12:operation soapAction="urn:getPrice"
style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>

<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="update">
<soap12:operation soapAction="urn:update" style="document"/
>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>

</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="StockQuoteServiceHttpBinding"
type="axis2:StockQuoteServicePortType">
<http:binding verb="POST"/>
<wsdl:operation name="getPrice">
<http:operation location="StockQuoteService/getPrice"/>
<wsdl:input>
<mime:content type="text/xml" part="getPrice"/>
</wsdl:input>

<wsdl:output>
<mime:content type="text/xml" part="getPrice"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="update">
<http:operation location="StockQuoteService/update"/>
<wsdl:input>
<mime:content type="text/xml" part="update"/>
</wsdl:input>

</wsdl:operation>
</wsdl:binding>
<wsdl:service name="StockQuoteService">
<wsdl:port name="StockQuoteServiceHttpSoap11Endpoint"
binding="axis2:StockQuoteServiceSoap11Binding">
<soap:address location="http://192.168.5.193:8080/axis2/
services/StockQuoteService.StockQuoteServiceHttpSoap11Endpoint/"/>
</wsdl:port>
<wsdl:port name="StockQuoteServiceHttpSoap12Endpoint"
binding="axis2:StockQuoteServiceSoap12Binding">
<soap12:address location="http://192.168.5.193:8080/axis2/
services/StockQuoteService.StockQuoteServiceHttpSoap12Endpoint/"/>
</wsdl:port>

<wsdl:port name="StockQuoteServiceHttpEndpoint"
binding="axis2:StockQuoteServiceHttpBinding">
<http:address location="http://192.168.5.193:8080/axis2/
services/StockQuoteService.StockQuoteServiceHttpEndpoint/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

log file "/tmp/log/SCA.log" content

[ 1] Info 21/11/2009 02:06:05::471 ....SCA::initComponent - Entering
[ 2] Info 21/11/2009 02:06:05::471 ....SCA::initComponent - Called
from /export/test/tt.php
[ 3] Info 21/11/2009 02:06:05::472 ....SCA::initComponent - $_SERVER
['HTTP_HOST'] = 127.0.0.1:90
[ 4] Info 21/11/2009 02:06:05::472 ....SCA::initComponent - $_SERVER
['REQUEST_METHOD'] = GET
[ 5] Info 21/11/2009 02:06:05::472 ....SCA::initComponent - $_SERVER
['PHP_SELF'] = /test/tt.php
[ 6] Info 21/11/2009 02:06:05::473 ....SCA::initComponent - $_SERVER
['REQUEST_URI'] = /test/tt.php
[ 7] Info 21/11/2009 02:06:05::473 ....SCA::initComponent - included
by a client script that is not a component
[ 8] Info 21/11/2009 02:06:05::473 ...SCA::getService - Entering
[ 9] Info 21/11/2009 02:06:05::474 ...SCA::getService - Target is
http://localhost:8080/axis2/services/StockQuoteService?wsdl , Type is
[ 10] Info 21/11/2009 02:06:05::474 ...SCA::getService - Inferring
from presence of .wsdl or ?wsdl that a soap proxy is required for this
target.
[ 11] Info 21/11/2009 02:06:05::474 ...SCA::getService - About to
create a soap proxy for target http://localhost:8080/axis2/services/StockQuoteService?wsdl.
Base path for relative paths is /export/test
[ 12] Info 21/11/2009
02:06:05::474 ....SCA_Binding_Factory::createProxy - Entering
[ 13] Info 21/11/2009
02:06:05::475 ....SCA_Binding_Factory::createProxy - binding_string =
soap, target = http://localhost:8080/axis2/services/StockQuoteService?wsdl
[ 14] Info 21/11/2009
02:06:05::480 .....SCA_Bindings_soap_Proxy::__construct - Entering
[ 15] Info 21/11/2009
02:06:05::481 ......SCA_Bindings_soap_Mapper::setWSDLTypes - Entering
[ 16] Info 21/11/2009
02:06:05::481 ......SCA_Bindings_soap_Mapper::setWSDLTypes - wsdl is
http://localhost:8080/axis2/services/StockQuoteService?wsdl
[ 17] Info 21/11/2009
02:06:05::681 ......SCA_Bindings_soap_Mapper::getTypeMap - Entering
[ 18] Info 21/11/2009
02:06:05::737 .......SCA_Bindings_soap_Mapper::getAllTypes - str
object(SDO_DAS_XML)#4 {
21 types have been defined. The types and their properties are::
1. commonj.sdo#BigDecimal
2. commonj.sdo#BigInteger
3. commonj.sdo#Boolean
4. commonj.sdo#Byte
5. commonj.sdo#Bytes
6. commonj.sdo#ChangeSummary
7. commonj.sdo#Character
8. commonj.sdo#DataObject
9. commonj.sdo#Date
10. commonj.sdo#Double
11. commonj.sdo#Float
12. commonj.sdo#Integer
13. commonj.sdo#Long
14. commonj.sdo#OpenDataObject
15. commonj.sdo#Short
16. commonj.sdo#String
17. commonj.sdo#URI
18. http://quickstart.samples/xsd#RootType
- getPrice (http://quickstart.samples/xsd#getPrice)
- getPriceResponse (http://quickstart.samples/
xsd#getPriceResponse)
- update (http://quickstart.samples/xsd#update)
19. http://quickstart.samples/xsd#getPrice
- symbol (commonj.sdo#String)
20. http://quickstart.samples/xsd#getPriceResponse
- return (commonj.sdo#Double)
21. http://quickstart.samples/xsd#update
- symbol (commonj.sdo#String)
- price (commonj.sdo#Double)
}
[ 19] Info 21/11/2009
02:06:05::738 ......SCA_Bindings_soap_Mapper::getTypeMap - Adding
callback for http://quickstart.samples/xsd#getPrice
[ 20] Info 21/11/2009
02:06:05::738 ......SCA_Bindings_soap_Mapper::getTypeMap - Adding
callback for http://quickstart.samples/xsd#getPriceResponse
[ 21] Info 21/11/2009
02:06:05::739 ......SCA_Bindings_soap_Mapper::getTypeMap - Adding
callback for http://quickstart.samples/xsd#update
[ 22] Info 21/11/2009 02:06:05::852 ...SCA::getService - Exiting
[ 23] Info 21/11/2009
02:06:05::852 ....SCA_Bindings_soap_Proxy::__call - Entering
[ 24] Info 21/11/2009
02:06:05::853 ....SCA_Bindings_soap_Proxy::__call - method name =
getPrice, arguments = Array
(
[0] => Array
(
[symbol] => IBM
)

)

[ 25] Info 21/11/2009
02:06:05::895 .....SCA_Bindings_soap_Proxy::_passTheCallToTheSoapClient
- Entering
[ 26] Info 21/11/2009
02:06:05::895 .......SCA_Bindings_soap_Mapper::toXML - Entering
[ 27] Info 21/11/2009
02:06:05::896 .......SCA_Bindings_soap_Mapper::toXML - sdo = Array
(
[symbol] => IBM
)

[ 28] Info 21/11/2009
02:06:05::896 .......SCA_Bindings_soap_Mapper::toXML - xml =
[ 29] Info 21/11/2009 02:06:06::
93 .......SCA_Bindings_soap_Mapper::fromXML - Entering
[ 30] Info 21/11/2009 02:06:06::
94 .......SCA_Bindings_soap_Mapper::fromXML - xml =
<ns:getPriceResponse xmlns:ns="http://quickstart.samples/
xsd"><ns:return>42.0</ns:return></ns:getPriceResponse>
[ 31] Info 21/11/2009
02:06:06::139 .....SCA_Bindings_soap_Proxy::_passTheCallToTheSoapClient
- getLastSoapRequest: <?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/" xmlns:ns1="http://quickstart.samples/xsd"><SOAP-
ENV:Body><ns1:getPrice/></SOAP-ENV:Body></SOAP-ENV:Envelope>

[ 32] Info 21/11/2009
02:06:06::140 .....SCA_Bindings_soap_Proxy::_passTheCallToTheSoapClient
- getLastSoapResponse: <?xml version='1.0' encoding='utf-8'?
><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/
envelope/"><soapenv:Body><ns:getPriceResponse xmlns:ns="http://
quickstart.samples/xsd"><ns:return>42.0</ns:return></
ns:getPriceResponse></soapenv:Body></soapenv:Envelope>


any question? please help me, many thanks.

Silvano Girardi Jr

unread,
Nov 24, 2009, 8:31:40 AM11/24/09
to php...@googlegroups.com
What happens?

You should be doing something with the return from $service->getPrice(array('symbol'=>'IBM'));

Try var_dump($service->getPrice(array('symbol'=>'IBM')));

Silvano

2009/11/21 heshuai64 <hesh...@gmail.com>

--

You received this message because you are subscribed to the Google Groups "phpsoa" group.
To post to this group, send email to php...@googlegroups.com.
To unsubscribe from this group, send email to phpsoa+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/phpsoa?hl=.



Cole

unread,
Nov 25, 2009, 1:11:48 AM11/25/09
to php...@googlegroups.com
question in SCA/Bindings/soap/Mapper.php 136 line,
public function toXML($sdo)
{
   SCA::$logger->log('Entering');
   SCA::$logger->log("sdo = ".print_r($sdo, true));

   try
135   {
136       $xdoc   = $this->xmldas->createDocument('', 'BOGUS', $sdo);
137       $xmlstr = $this->xmldas->saveString($xdoc, 0);

toXML($sdo) function $sdo is SDO_DataObject, but this is array? how createDocument?

Logs are as follows:

[ 25] Info 21/11/2009
02:06:05::895 .....SCA_Bindings_soap_Proxy::_passTheCallToTheSoapClient
- Entering
[ 26] Info 21/11/2009
02:06:05::895 .......SCA_Bindings_soap_Mapper::toXML - Entering
[ 27] Info 21/11/2009
02:06:05::896 .......SCA_Bindings_soap_Mapper::toXML - sdo = Array
(
   [symbol] => IBM
)

[ 28] Info 21/11/2009
02:06:05::896 .......SCA_Bindings_soap_Mapper::toXML - xml = 
[ 29] Info 21/11/2009 02:06:06::


28 line SCA_Bindings_soap_Mapper::toXML - xml =     is NULL?

2009/11/24 Silvano Girardi Jr <silv...@gmail.com>
For more options, visit this group at http://groups.google.com/group/phpsoa?hl=en.

Reply all
Reply to author
Forward
0 new messages