ওপেন ওএনভিআইএফ (নেটওয়ার্ক ভিডিও ইন্টারফেস ফোরাম) ডিভাইস থেকে রেকর্ডিংয়ের সাথে ইস্যু করুন


90

আমি ওপেন নেটওয়ার্ক ভিডিও ইন্টারফেস ফোরাম-জাভা প্রকল্পে এবং ওএনভিএফ অ্যাপ্লিকেশন প্রোগ্রামার গাইডে বর্ণিত পদক্ষেপগুলি অনুসরণ করছি ।

আমি wsdlsওএনভিআইএফ সাইটে সরবরাহিত উত্স থেকে উত্স উত্পন্ন করেছি । আমি ব্যবহার লাইভ স্ট্রিম কোনো URI পুনরুদ্ধার করতে পারবেন আছি media.wsdl। রেকর্ডিং নিয়ে এখন আমার একটি সমস্যা আছে। আমি যে কোডগুলি চেষ্টা করেছি সেগুলি নীচে দেওয়া হল:

RecordingService recording_ervice = new RecordingService();
RecordingPort record_port = recording_ervice.getRecordingPort();


BindingProvider bindingProvider = (BindingProvider) record_port;

// Add a security handler for the credentials
final Binding binding = bindingProvider.getBinding();
List<Handler> handlerList = binding.getHandlerChain();
if (handlerList == null) {
    handlerList = new ArrayList<Handler>();
}

handlerList.add(new RecordStream.SecurityHandler());
// binding.setHandlerChain(handlerList);

// Set the actual web services address instead of the mock service
Map<String, Object> requestContext = bindingProvider.getRequestContext();

requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://" + deviceip + "/onvif/media_service");
requestContext.put(BindingProvider.USERNAME_PROPERTY, user);
requestContext.put(BindingProvider.PASSWORD_PROPERTY, pass);

Recordings recordings = record_port.getRecordings();

চলমান উপরের কোডটি একটি ত্রুটি দেয়:

Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Method 'ns11:GetServiceCapabilities' not implemented: method name or namespace not recognized

আমি মিডিয়া পরিষেবা দিয়েও চেষ্টা করেছি, তবে ত্রুটিটি হ'ল:

Exception in thread "main" com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 405: Method Not Allowed

4
নোট করুন যে "রেকর্ডিং" হ'ল ওএনভিআইএফ রেকর্ডারদের দ্বারা ব্যবহৃত পরিষেবা: বেশিরভাগ আইপি ক্যামেরা এটি সমর্থন করে না। আমি মনে করি আপনার এটি ডিভাইস ক্ষমতাগুলি পরীক্ষা করা উচিত, যেহেতু এটি একটি service চ্ছিক পরিষেবা (সমর্থিত প্রোফাইলের উপর নির্ভর করে): onvif.org/ver10/device/wsdl/GetCapables । আরও একটি নোট: শেষ লাইনে আপনি getRecordings () কে "দক্ষতা" হিসাবে অর্পণ করছেন ... onvif.org/onvif/ver10/recording.wsdl- দেখে আমি বলব যে এটি গেটসোর্সেস্প্যাবিলিটিস () এর আউটপুট টাইপ। এটিও ডাবল পরীক্ষা করে দেখুন।
সিগি

4
ওয়েব সার্ভারের সুরক্ষা নীতিগুলি পরীক্ষা করা উচিত, কারণ কোডটিতে পদ্ধতিটি উপস্থিত রয়েছে বলে মনে হয় তবে ক্লায়েন্টের দ্বারা অনুমোদিত বা অ্যাক্সেসযোগ্য নয়।
বেদ

বেদের সাথে একমত ... যে কেউ এই ডাব্লুএসডিএল বাস্তবায়ন করছে সে হয় নির্দিষ্ট কিছু বৈশিষ্ট্য প্রয়োগ করেনি বা নাম স্থানটি ডাব্লুএসডিএল ঘোষণার দিকে ইঙ্গিত করছে যা এতে ফাংশনটি অন্তর্ভুক্ত করে না। ব্যক্তিগতভাবে, আমি ডাব্লুএসডিএলের এই ওএনভিআইএফ পছন্দটি দেখে কিছুটা অবাক হয়েছি।

উত্তর:


2

আপনি যখন মিডিয়া উত্সটি দিয়ে চেষ্টা করেছিলেন, আপনি সার্ভার ত্রুটি কোড 405 ফিরিয়ে দেওয়ার পরে আপাতদৃষ্টিতে একটি অননুমোদিত পদক্ষেপের অনুরোধ করেছিলেন E হয় পদ্ধতিটি ব্যবহার থেকে নিষিদ্ধ করা হয়েছে, অথবা পদ্ধতিটি ব্যবহার করার জন্য আপনার কোনও শংসাপত্রের প্রয়োজন।

হিসাবে Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Method 'ns11:GetServiceCapabilities' not implemented: method name or namespace not recognized, @ সিগিজমন্ডো এই সত্যটি সম্পর্কে সঠিক যে বেশিরভাগ আইপি ক্যামেরা এটি সমর্থন করে না। আইপি ক্যামেরা থেকে রেকর্ড করার জন্য আপনার একটি বিকল্প রেকর্ডিং পদ্ধতি (আক্ষরিক এবং শ্লেষ) প্রয়োজন হবে।


1

আপনি http://" + deviceip + "/onvif/media_serviceরেকর্ডিং পরিষেবাটিতে পৌঁছানোর জন্য ব্যবহার করছেন তবে এটি একটি মিডিয়া ডাব্লুএসডিএল পরিষেবা। সুতরাং আপনি মিডিয়া পরিষেবাতে getRecordings কল করার চেষ্টা করার সময় মনে হয় আপনি একটি ত্রুটি পেয়েছেন।

রেকর্ডিং.ডাব্লুড সার্ভিসের জন্য ইউআরএল হওয়া উচিত http://" + deviceip + "/onvif/recording_service

রেকর্ডিং পরিষেবাটিতে পৌঁছানোর জন্য কোর্টটি ইউআরএল পাওয়ার জন্য আপনাকে ডিভাইসএমজিএমটি.ডেস্কল পরিষেবাটির গেটক্যাপিলিটিস পদ্ধতি থেকে অনুরোধ করা উচিত ।


0

HTTP 405 - রিসোর্স অনুমোদিত নয় সাধারণত আইআইএসে ঘটে in নিম্নলিখিত শর্তগুলি সত্য হলে এই সমস্যা দেখা দেয়:

  • আপনি ফাইলের নাম নির্দিষ্ট করবেন না। উদাহরণস্বরূপ, আপনি http: // সার্ভার / ওয়েব / ... নির্দিষ্ট করে না

  • স্ক্রিপ্টিং অবজেক্ট মডেল (এসওএম) সক্ষম করা হয়েছে।

  • একটি ডিটিসি ইভেন্ট বলা হয়।

সুতরাং, যখন SOM সক্ষম করা হয় তখন কোনও <ফর্ম> ট্যাগ পৃষ্ঠাটিতে সন্নিবেশ করা হয় ট্যাগটি অবৈধ মানে এর কোনও ক্রিয়া থাকে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.