ホームページ  >  記事  >  バックエンド開発  >  php5.3 Webサービスの開発が急務です

php5.3 Webサービスの開発が急務です

WBOY
WBOYオリジナル
2016-06-23 14:05:581047ブラウズ

以前に nusoap を使用して Web サービスを開発しましたが、サポートされていないように見える php 5.3 でエラーが発生し続けていたようです。php5.3 開発の関連例、または 5.3 をサポートする nusoap プラグインを持っている人はいますか? : cxh741@163.com ありがとうございます


ディスカッションに返信(解決策)

エラー報告を投稿

エラー報告を投稿
私が書いたサーバーインターフェイスは5.2で正常に動作します(php/java呼び出しは問題ありません) )、しかし 5.3 では呼び出しが失敗します。php 呼び出しページは空白で、Java 呼び出しエラーは次のとおりです

Exception in thread "main" AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode:  faultString: org.xml.sax.SAXException: Bad envelope tag:  br faultActor:  faultNode:  faultDetail: 	{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: Bad envelope tag:  br	at org.apache.axis.message.EnvelopeBuilder.startElement(EnvelopeBuilder.java:71)	at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)	at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:377)	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:626)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3095)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:922)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)	at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)	at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)	at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)	at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)	at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)	at org.apache.axis.client.Call.invokeEngine(Call.java:2784)	at org.apache.axis.client.Call.invoke(Call.java:2767)	at org.apache.axis.client.Call.invoke(Call.java:2443)	at org.apache.axis.client.Call.invoke(Call.java:2366)	at org.apache.axis.client.Call.invoke(Call.java:1812)	at test.TestGoods.main(TestGoods.java:57)	{http://xml.apache.org/axis/}hostname:luoleiorg.xml.sax.SAXException: Bad envelope tag:  br	at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)	at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:701)	at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)	at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)	at org.apache.axis.client.Call.invokeEngine(Call.java:2784)	at org.apache.axis.client.Call.invoke(Call.java:2767)	at org.apache.axis.client.Call.invoke(Call.java:2443)	at org.apache.axis.client.Call.invoke(Call.java:2366)	at org.apache.axis.client.Call.invoke(Call.java:1812)	at test.TestGoods.main(TestGoods.java:57)Caused by: org.xml.sax.SAXException: Bad envelope tag:  br	at org.apache.axis.message.EnvelopeBuilder.startElement(EnvelopeBuilder.java:71)	at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)	at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:377)	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:626)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3095)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:922)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)	at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)	at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)	at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)	... 9 more

また行きますか? phpは5.3でも調整できるのでしょうか?

またここですか? phpは5.3でも調整できるのでしょうか?
はい、あなた、私はこの問題についてとても混乱しています。数日が経過しましたが、PHP バージョン 5.3.8 で問題が発生しました。nusoap プラグインが 5.3 以降をサポートしていないことが原因だと思われます。ローカル環境は5.2.4です。可能です

php5.2からはphp_soap拡張機能が提供されています。スクリプトよりもマシンコードの方が効率が良いので、最初に使用する必要があります

ただし、今のところWSDLはありません。ライティングツール

nusoap は php4 由来で開発者限定 能力的には多かれ少なかれ問題があるでしょう。特に、PHP の上位バージョンでは、構文が大幅に調整されています。気付かなかったり、コードを調整するエネルギーがなかったりする場合があります。必然的に多くの手間がかかります


php5.2 から php_soap 拡張機能が提供されていますが、マシンコードの効率はスクリプトよりも確実に高いため、最初に使用する必要があります

ただし、今のところ WSDL はありません。書き込みツール

nusoap の起源 php4 は開発者の能力によって制限されるため、多かれ少なかれ問題が発生します。特に、PHP の上位バージョンでは、構文が大幅に調整されています。気付かなかったり、コードを調整するエネルギーがなかったりする場合があります。間違いなく多くの手間がかかります
はい、php5.3 以降の Web サービスの開発例についての記事も読みました。これは大きな変更であり、多くの調整が必要です。 . もつれた

ただし、サービスはすでに形成されているため、wsdl ファイルを変更する必要はありません。作成は言うまでもありません

インターフェイスを呼び出すときのエラーは何ですか?
Exception in thread "main" AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode:  faultString: org.xml.sax.SAXParseException: The value of the attribute "prefix="xmlns",localpart="ns1",rawname="xmlns:ns1"" is invalid. Prefixed namespace bindings may not be empty. faultActor:  faultNode:  faultDetail: 	{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXParseException: The value of the attribute "prefix="xmlns",localpart="ns1",rawname="xmlns:ns1"" is invalid. Prefixed namespace bindings may not be empty.	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanAttribute(XMLNSDocumentScannerImpl.java:526)	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:277)	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:626)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3095)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:922)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)	at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)	at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)	at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)	at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)	at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)	at org.apache.axis.client.Call.invokeEngine(Call.java:2784)	at org.apache.axis.client.Call.invoke(Call.java:2767)	at org.apache.axis.client.Call.invoke(Call.java:2443)	at org.apache.axis.client.Call.invoke(Call.java:2366)	at org.apache.axis.client.Call.invoke(Call.java:1812)	at test.TestGoods.main(TestGoods.java:57)	{http://xml.apache.org/axis/}hostname:luoleiorg.xml.sax.SAXParseException: The value of the attribute "prefix="xmlns",localpart="ns1",rawname="xmlns:ns1"" is invalid. Prefixed namespace bindings may not be empty.	at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)	at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:701)	at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)	at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)	at org.apache.axis.client.Call.invokeEngine(Call.java:2784)	at org.apache.axis.client.Call.invoke(Call.java:2767)	at org.apache.axis.client.Call.invoke(Call.java:2443)	at org.apache.axis.client.Call.invoke(Call.java:2366)	at org.apache.axis.client.Call.invoke(Call.java:1812)	at test.TestGoods.main(TestGoods.java:57)Caused by: org.xml.sax.SAXParseException: The value of the attribute "prefix="xmlns",localpart="ns1",rawname="xmlns:ns1"" is invalid. Prefixed namespace bindings may not be empty.	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanAttribute(XMLNSDocumentScannerImpl.java:526)	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:277)	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:626)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3095)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:922)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)	at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)	at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)	at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)	... 9 more


環境設定の問題である可能性があります

この環境は他のインターフェイスを呼び出しており、回避できる可能性がありますか?

インターフェイス呼び出し時のエラーは何ですか?

Java コード 0515253545556575859606162636465666768697071727374 スレッド "ma....

属性 "prefix="xmlns",localpart="ns1",rawname=" xmlns:ns1" " は無効です。プレフィックス付きの名前空間バインディングが空ではない可能性があります。
メソッドを正しく呼び出していますか?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。